44 votes

Appliquer la méthode à chaque élément du tableau/énumérable

Voici mon tableau :

 array = [:one,:two,:three]

Je souhaite appliquer la to_s à tous mes éléments de tableau pour obtenir array = ['one','two','three'] .

Comment puis-je le faire (convertir chaque élément de l'énumérable en autre chose) ?

74voto

sawa Points 62592

Cela fonctionnera :

 array.map!(&:to_s)

19voto

miku Points 63392

Vous pouvez utiliser respectivement map ou map! , le premier renverra une nouvelle liste, le second modifiera la liste en place :

 >> array = [:one,:two,:three]
=> [:one, :two, :three]

>> array.map{ |x| x.to_s }
=> ["one", "two", "three"]

8voto

Arun Kumar Arjunan Points 4437
  • array.map!(&:to_s) modifie le tableau d'origine en ['one','two','three']
  • array.map(&:to_s) renvoie le tableau ['one','two','three'] .

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