【发布时间】:2018-04-03 22:20:54
【问题描述】:
我正在尝试在 Haskell 中执行以下操作:
someFunction :: [] -> Int
someFunction list
let a
| length list == 1 = 10
| otherwise = 0
b
| length list == 1 = 10
| otherwise = 0
in findValues (a+b)
因此 a 和 b 的值将取决于守卫中的条件是否满足。这种语法不断给我错误,我不知道为什么。我需要使用 where 子句还是有正确的“let”语法来实现我想要的?
感谢您的帮助
【问题讨论】:
-
为什么不直接写
let a = if length list == 1 then 10 else 0?
标签: haskell functional-programming haskell-stack haskell-platform guard-statement