gpt4 book ai didi

elixir - Elixir 中有标准的 curry() 函数吗?

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

我想部分应用一个功能。在 Elixir 中是否有标准的简洁方法来进行任何类型的 curry ?

我知道我可以做这样的事情:

new_func = fn(arg2, arg3) -> my_func(constant, arg2, arg3) end

new_func2 = fn -> my_func2(constant) end

但它看起来很丑。

最佳答案

您可以使用捕获 &运算符(operator)清理一下:

plus2 = &Kernel.+(2, &1)
plus2.(4)
6

注意点 .在 plus2 和它的括号之间

因为这是一种语法糖
plus2 = fn(right) -> Kernel.+(2, right) end

所有相同的规则都适用。就像你必须为你正在“currying”的函数提供所有参数一样,你可以按任何顺序放置位置参数。

Docs on the & operator

关于elixir - Elixir 中有标准的 curry() 函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40922589/

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