在Perl中,如果你有这样的循环:
foreach (@items) { perform_action($_); }
你可以用void context中的map来替换它:
map { perform_action($_) } @items;
做什么有什么好处吗?它是否具有性能影响,因为Perl认为它必须保存结果?改善/改善可读性吗?
解决方法
从Perl
5.8.1开始,在void语境中的映射不是很贵:
map in void context is no longer
expensive. map is now context aware,
and will not construct a list if
called in void context.
但后缀的形式可能更可读:
perform_action($_) for @items;