Perl Данные :: Rmap позволяет вам рекурсивно оценивать BLOCK по списку структур данных (локально устанавливая $ _ для каждого элемента) и возвращать список, состоящий из результатов таких вычислений. $ _ можно использовать для изменения элементов.
Это полезно для перебора таких вещей, как вложенные хэши или иерархии массивов хэшей и т.п.

Не вдаваясь в подробности, я не уверен, что вам нужен модуль для этого в Ruby. Итераторы и блоки предназначены для того, чтобы делать то, что вы хотите.
Редактировать, чтобы опубликовать пример или ссылку на пример случайно?
Проверьте ответ Гая, в нем есть подробности :)
Думаю, Ruby Enumerable делает все, что вы хотите. «... и вернуть список, состоящий из результатов таких оценок» означает, что вам нужен Enumerable#map. Моя первая попытка была бы примерно такой:
[ {...}, {...}, {...}, ... ].map do |hash|
hash.something
do_other_stuff_with(hash)
hash # important to have as last line b/c of how #map works
end
AFAICT, это не эквивалентно, потому что Data :: Rmap работает не только с ArrayOfHash (AoH). Он также может перебирать более сложные структуры, такие как ArrayofArray (AoA), HashofArray (HoA) и другие (AoAoH), (HoHoA) и т. д. До бесконечности.
.map с радостью будет работать с массивами вещей, кроме хэша. Чего он не сделает, так это рекурсии. Может быть, нужен Y-комбинатор?
Инструмент Python Смотрите также:, который делает что-то подобное stackoverflow.com/tags/marshmallow/info