2010-09-30 4 views
7

par exemple:Comment décomposer et extraire un tableau d'un tableau de hachage dans Ruby on Rails?

[ (id=>1, email=>'[email protected]', name=>'tim'), 
    (id=>2, email=>'[email protected]', name=>'joe'), 
    (id=>3, email=>'[email protected]', name=>'dan') ] 

Comment puis-je extraire la colonne e-mail et le mettre dans son propre tableau?

+0

Avez-vous * besoin * de commencer par un tableau de hachage? Si le tableau de hachage est juste une étape intermédiaire pour obtenir les adresses e-mail, alors je dirais qu'il existe une solution plus simple et élégante à votre problème. –

Répondre

16

Appelons votre tableau users. Vous pouvez le faire:

users.map{|u| u[:email]} 

Cela ressemble au hash, un par un, en les appelant u, extrait la clé :email et renvoie les résultats dans un nouveau tableau d'e-mails des utilisateurs.

+1

Vous pouvez également utiliser users.collect {| u | u [: email]}, collect est un alias pour map, ce qui peut être plus facile pour certaines personnes (celles qui n'ont pas d'arrière-plan fonctionnel). –

+0

génial! Cela a fonctionné parfaitement. merci beaucoup – Tim

Questions connexes