gpt4 book ai didi

Haskell 在 CoffeeScript 中的 $(函数应用程序运算符)?

转载 作者:行者123 更新时间:2023-12-02 03:42:07 24 4
gpt4 key购买 nike

在CoffeeScript中,有没有类似于Haskell的$运算符的概念?我似乎找不到关于这个主题的任何内容,但我相信我曾经在 GitHub 上看到过一个问题。

我想做的是写

foo = bar $ baz 1 2

代替

foo = bar (baz 1 2)

最佳答案

看来您可能对 $ 在 Haskell 中到底做了什么感到有点困惑。

its type可以看出-- (a -> b) -> a -> b -- $ 只“知道”两个参数。

因此,在您的 foo = bar $ baz 1 2 示例中,$ 并不“知道”baz 1 2

之所以以这种方式进行分组是因为“函数应用程序的优先级高于任何 中缀运算符”( source )。因此,例如,使用中缀运算符 . 的相同表达式的解析方式完全相同:

foo = bar . baz 1 2  -- also parsed as `bar (baz 1 2)`
-- because of function application's high precedence

因此,$ 唯一做的就是接受两个参数并将第一个应用于第二个。只要 Coffeescript 允许高阶函数,就很容易实现 $。您注意到的其余行为是 Haskell 语言的一部分。

关于Haskell 在 CoffeeScript 中的 $(函数应用程序运算符)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19425898/

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