112 votes

Générer un tableau de toutes les lettres et de tous les chiffres

En utilisant ruby, est-il possible de faire un tableau de chaque lettre de l'alphabet et de 0-9 facilement ?

169voto

Nakilon Points 11635
[*('a'..'z'), *('0'..'9')] # doesn't work in Ruby 1.8

ou

('a'..'z').to_a + ('0'..'9').to_a

ou

(0...36).map{ |i| i.to_s 36 }

(le Integer#to_s convertit un nombre en une chaîne de caractères le représentant dans un format souhaité. système numéral )

2 votes

Y a-t-il un nom particulier pour le * utilisé dans ce contexte ? C'est nouveau pour moi.

1 votes

@Michael Burr, opérateur splat . Voir ici y ici

4 votes

Veuillez indiquer dans la réponse que l'échantillon de code * fonctionnera dans Ruby 1.9 mais pas dans Ruby 1.8

39voto

Pete Points 6648

Pour les lettres ou les chiffres, vous pouvez former des plages et itérer sur celles-ci. Essayez ceci pour avoir une idée générale :

("a".."z").each { |letter| p letter }

pour en tirer un tableau, essayez ce qui suit :

("a".."z").to_a

12voto

qjnr Points 613

Essayez ça :

alphabet_array = [*'a'..'z', *'A'..'Z', *'0'..'9']

Ou comme ficelle :

alphabet_string = alphabet_array.join

12voto

user3731366 Points 33

Vous pouvez aussi le faire de cette façon :

'a'.upto('z').to_a + 0.upto(9).to_a

4voto

user1290366 Points 21
myarr = [*?a..?z]       #generates an array of strings for each letter a to z
myarr = [*?a..?z] + [*?0..?9] # array of strings a-z and 0-9

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X