在Perl中是否有一些像zip和fold这样的函数?

前端之家收集整理的这篇文章主要介绍了在Perl中是否有一些像zip和fold这样的函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在perl中使用一些函数,如 “zip”,“fold”“map”. (就像在Haskell中一样.)我找到了地图并且效果很好.那么,是否有拉链和折叠?非常感谢你.

解决方法

我在我的模块 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

猜你在找的Perl相关文章