Esiste un Ruby equivalente ai dati di Perl :: Rmap?
-
03-07-2019 - |
Domanda
Il Data :: Rmap di Perl consente di valutare ricorsivamente un BLOCCO su un elenco delle strutture dati (impostando localmente $ _ su ciascun elemento) e restituisce l'elenco composto dai risultati di tali valutazioni. $ _ può essere usato per modificare gli elementi.
Questo è utile per iterare cose come hash nidificati o gerarchie di array di hash e simili.
Soluzione
Enumerable
di Ruby fa tutto quello che vuoi, credo. " ... e restituisce l'elenco composto dai risultati di tali valutazioni " indica che si desidera Enumerable # map
. Il mio primo tentativo sarebbe qualcosa del genere:
[ {...}, {...}, {...}, ... ].map do |hash|
hash.something
do_other_stuff_with(hash)
hash # important to have as last line b/c of how #map works
end
Altri suggerimenti
Senza davvero esaminare i dettagli, non sono sicuro che tu abbia bisogno di un modulo per quello in Ruby. Iteratori e blocchi sono lì per fare quello che vuoi.