Je crois que cela a déjà été demandé/répondu dans un contexte légèrement différent, et j'ai vu des réponses à quelques exemples similaires - mais rien ne semble vraiment correspondre .Ruby: Créer un hachage avec les clés par défaut + les valeurs d'un tableau
J'ai un tableau d'adresses e-mail:
@emails = ["[email protected]", "[email protected]"]
Je veux créer un hachage de ce tableau, mais il doit ressembler à ceci:
input_data = {:id => "#{id}", :session => "#{session}",
:newPropValues => [{:key => "OWNER_EMAILS", :value => "[email protected]"} ,
{:key => "OWNER_EMAILS", :value => "[email protected]"}]
Je pense que le Array
de Hash
à l'intérieur du hachage me rejette. Mais je l'ai joué avec inject
, update
, merge
, collect
, map
et ai eu aucune chance de générer ce type de dynamique hachage qui doit être créé en fonction du nombre d'entrées dans le tableau @emails
.
Quelqu'un a-t-il des suggestions sur la façon de s'en sortir?
inject est sans aucun doute la meilleure solution –
Ah ha! c'est comme ça que j'injecterais! Cela m'aide beaucoup. Non seulement cela résout mon problème, mais ça me fait comprendre d'injecter un peu mieux. Je vous remercie! –
En effet injecter ou map_reduce dans d'autres langages est un moyen cool d'itérer une collection + d'appliquer une opération sur tous ses éléments et de déplacer le résultat partiel vers les éléments successeurs lors de l'itération. – khelll