解决方法
我在我的模块
List::Gen中实现了许多这些函数(甚至是类似Haskell的函数)
use List::Gen qw(zip reduce); my @list = zip [1 .. 4],['a' .. 'd']; my $str = reduce {$a . $b} @list; say $str; # 1a2b3c4d
或者使用glob函数来构建范围:
use List::Gen 'glob'; say <1 .. 4>->zip(<a .. d>)->reduce('$a.$b'); # 1a2b3c4d
使用 – > reduce(‘.’)或 – > reduce(sub {$a.$b})也可以.
或者如果你打高尔夫球:
say <[.]>->(<1..4>|<a..d>);
或者对于Haskell版本,请参阅List::Gen::Haskell