94 votes

Créer ou ajouter un tableau en Ruby

foo ||= []
foo << :element

C'est un peu lourd. Existe-t-il une manière plus idiomatique ?

155voto

Dave Newton Points 93112
(foo ||= []) << :element

Mais meh. Est-ce vraiment si onéreux de le garder lisible ?

65voto

meub Points 755

Vous pouvez toujours utiliser la méthode "push" sur n'importe quel tableau également. J'aime mieux ça.

(a ||= []).push(:element)

11voto

Christian Rolle Points 1247

Vous pourriez également bénéficier de la Noyau#Réseau comme :

# foo = nil
foo = Array(foo).push(:element)
# => [:element]

qui a l'avantage d'aplatir un Array potentiel, comme :

# foo = [1]
foo = Array(foo).push(:element)
# => [1, :element]

0voto

Rimian Points 7805

Aussi un peu plus verbeux pour la lisibilité et sans condition :

foo = Array(foo) << :element

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