’ "的情况下-6ren"> ’ "的情况下-我在这个简单的 haskell 代码中遇到了一个奇怪的错误。 我确认我在任何地方都使用空格并且我没有看到任何缩进问题。 我是否错过了出现此语法错误的内容? it "I can play wit-6ren">
gpt4 book ai didi

haskell - 有 "parse error on input ‘->’ "的情况下

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

我在这个简单的 haskell 代码中遇到了一个奇怪的错误。
我确认我在任何地方都使用空格并且我没有看到任何缩进问题。

我是否错过了出现此语法错误的内容?

    it "I can play with Maybe a bit" $ do
let b = Just "whatever"

let res = case b of
Just val -> "There is a value, and it is a value" --parse error on input ‘->’
Nothing -> "There is nothing!"

res `shouldBe` "There is a value, and it is a value"

最佳答案

case 的缩进级别应该至少比 let 语句的变量名开头多一个空格,例如:

let res = case b of
Just val -> "There is a value, and it is a value"
Nothing -> "There is nothing!"

如果你写在与 res相同的级别开始,它被解析为好像它是 let 的一部分块,而不是 caselet堵塞。
同样,如果你写的比 res 缩进少,它被解析为好像它是 do 的一部分块,而不是 case .

关于haskell - 有 "parse error on input ‘->’ "的情况下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58905982/

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