Perl 的Data::Rmap允许您在数据结构列表上递归评估 BLOCK(本地设置 $_ 到每个元素)并返回由此类评估结果组成的列表。$_ 可用于修改元素。
这对于迭代嵌套散列或散列数组的层次结构等非常有用。
Perl 的Data::Rmap允许您在数据结构列表上递归评估 BLOCK(本地设置 $_ 到每个元素)并返回由此类评估结果组成的列表。$_ 可用于修改元素。
这对于迭代嵌套散列或散列数组的层次结构等非常有用。
Enumerable
我认为,Ruby 可以满足您的所有需求。“...并返回由此类评估结果组成的列表”表示您想要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
在没有真正研究细节的情况下,我不确定您是否需要 Ruby 中的模块。迭代器和块可以做你想做的事。