Existe-t-il un équivalent Ruby dans Data :: Rmap de Perl?
-
03-07-2019 - |
Question
La Data :: Rmap de Perl vous permet d'évaluer de manière récursive un BLOC sur une liste. de structures de données (en fixant localement $ _ à chaque élément) et en renvoyant la liste composée des résultats de ces évaluations. $ _ peut être utilisé pour modifier les éléments.
Ceci est utile pour effectuer des itérations sur des éléments tels que des hachages imbriqués ou des hiérarchies de tableaux de hachages et autres.
La solution
Le Enumerable
de Ruby fait tout ce que vous voulez, je pense. "... et renvoyer la liste composée des résultats de ces évaluations" indique que vous voulez Enumerable # map
. Mon premier essai serait quelque chose comme ça:
[ {...}, {...}, {...}, ... ].map do |hash|
hash.something
do_other_stuff_with(hash)
hash # important to have as last line b/c of how #map works
end
Autres conseils
Sans trop regarder dans les détails, je ne suis pas sûr que vous ayez besoin d’un module pour ça en Ruby. Les itérateurs et les blocs sont là pour faire ce que vous voulez.