Ho una matrice e una funzione che restituisce un valore dato un valore. In definitiva, voglio creare una hashmap che abbia i valori dell'array come valore chiave e il risultato di f (valore_chiave) come valore. Esiste un modo semplice e pulito, simile a ciascuna/mappa di Array, di fare questo usando il blocco?Ruby - mappatura di una matrice in hashmap
Quindi, qualcosa che è equivalente a
hsh = {}
[1,2,3,4].each do |x|
hsh[x] = f(x)
end
ma sembra più simile a questo, in quanto è semplice e una linea?
results = array.map { | x | f(x) }
N questo non funziona con gli enumeratori pigri, ma con '.to_h' di Ruby 2.1.0. –