gpt4 book ai didi

Haskell - 参数太少

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

我想编写一个 Haskell 程序来计算两个给定数字之间的数字之和。
我有以下代码:

sumInt :: Int -> Int -> Int
sumInt x y
| x > y = 0
| otherwise = x + sumInt x+1 y

但是当我编译它时,我得到以下错误:

SumInt is applied to too few arguments.



我不明白我做错了什么。有任何想法吗?

最佳答案

您需要在 x+1 周围加上括号:

| otherwise = x + sumInt (x + 1) y

原因是函数应用比操作符绑定(bind)得更紧密,所以每当你看到
f x <> y

这总是被解析为
(f x) <> y

从来没有
f (x <> y)

关于Haskell - 参数太少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27155472/

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