Perl中的函数组合

前端之家收集整理的这篇文章主要介绍了Perl中的函数组合前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Perl 5中,我们可以应用函数式编程技术(使用闭包,高阶函数,如map,grep等).但功能构成怎么样?让我们说,在 Haskell中,使用(.)函数可以很容易地完成:
map (negate . abs) [-3,2,4,-1,5]

在Perl中,这个“点函数”的等价物是什么?

解决方法

可悲的是,我不知道Haskell.

但是函数组合本质上是将一个函数输出作为参数放入下一个函数中.

output =(negate.abs)(input)与output = negate(abs(input))相同.在Perl中,parens通常是可选的,输入隐含在map函数中,所以我们可以说

output = map (negate abs) list

现在只需将其转换为Perl语法,我们就可以了

my @output = map {- abs} (1,3);

对于数学/代数否定,和

my @output = map {! abs} (1,3);

对于逻辑否定(当然,它与map {!$_}(1,3)相同).

原文链接:https://www.f2er.com/Perl/172342.html

猜你在找的Perl相关文章