gpt4 book ai didi

perl - Perl中的函数组成

转载 作者:行者123 更新时间:2023-12-04 04:50:23 27 4
gpt4 key购买 nike

在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,2,3);

用于数学/代数求和,以及
my @output = map {! abs} (1,2,3);

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

关于perl - Perl中的函数组成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12037853/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com