gpt4 book ai didi

haskell - Haskell 中参数在函数组合中的应用

转载 作者:行者123 更新时间:2023-12-02 17:21:58 25 4
gpt4 key购买 nike

作为 Haskell 的新手,我不明白为什么这个表达式头 .单词“一二三四” 抛出异常,并且函数组合 head 。 Words 必须与 $ 运算符一起应用 - 它右侧的表达式不需要进一步计算,因为它只是一个 String。编译它的另一种方法是放置 head 。 Words 放在括号中,但 (head .words)::String -> Stringhead 具有相同的类型。 Words::String -> String 那么为什么将其放在括号中会使表达式编译?

最佳答案

由于优先规则。应用程序具有最高优先级; $ - 最低。

头。单词“一二三四” 被解析为 head 。 (单词“一二三四”),即应用于字符串的单词必须产生一个函数(按照(.)的要求)。但这不是 words 所具有的类型:

Prelude> :t words
words :: String -> [String]

头。另一方面,words $“一二三四” 被解析为 (head .words)“一二三四” 并且类型适合。

关于haskell - Haskell 中参数在函数组合中的应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16344905/

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