2017-08-22 3 views
0

Salut J'essaie d'extraire plusieurs valeurs de hachage dans une fonction. Je ne peux que récupérer le premier hash. Je voudrais que toutes les valeurs de hachage reviennent afin que je puisse les formater après que je puisse extraire les données mais jusqu'à présent, je ne peux obtenir que la valeur du premier hachage. Merci d'avance pour l'aide ici est où je suis si loin.Impression de plusieurs valeurs de hachage à partir d'un tableau

def list(names) 
names.each do|name| 
name.each do |key,value| 
    return "#{value}" 
end 
end 
end 

Répondre

2
def list(names) 
    values = [] 
    names.each do|name| 
     name.each do |key,value| 
      values << value 
     end 
    end 
    values 
end 

Vous devez garder toutes les valeurs, au lieu de retourner la première valeur immédiatement.


Ruby lui-même a de nombreuses méthodes, vous pouvez le faire même en une seule ligne.

def list(names) 
    names.map(&:values).flatten 
end 
+0

Merci J'aime la doublure. –

+0

'flat_map' peut aussi fonctionner ici. –