Haskell 哈斯克尔案例错误
如果我尝试运行此函数:Haskell 哈斯克尔案例错误,haskell,functional-programming,Haskell,Functional Programming,如果我尝试运行此函数: function :: Int -> Int -> Int function = \case 5 -> 1 我收到这个错误消息: parse error (possibly incorrect indentation or mismatched brackets) Failed, modules loaded: none. 或者,如果我实现如下功能: function :: Int -> Int -> Int function
function :: Int -> Int -> Int
function =
\case 5 -> 1
我收到这个错误消息:
parse error (possibly incorrect indentation or mismatched brackets)
Failed, modules loaded: none.
或者,如果我实现如下功能:
function :: Int -> Int -> Int
function = \case 5 -> 1
parse error on input ‘case’
Failed, modules loaded: none.
有人能告诉我为什么会收到此错误消息吗?语法需要语言扩展名
要在文件中设置此项,请使用标志-xlambdase
进行编译,或将其写入文件顶部:
{-# LANGUAGE LambdaCase #-}
请注意,非GHC编译器可能不支持此扩展。我通过更复杂的函数获取此错误消息。但都一样。我只是写了一个简单的函数并显示了这个错误消息。您是否启用了
LambdaCase
语言扩展?它是有效的。我可以看到四个问题:1。第一个代码块的最后一行缩进不正确(如错误消息所示)。2.第二个代码块中的第二行不应缩进。3.您似乎正在使用lambdase
扩展,但该扩展可能未启用。4.函数签名表示两个参数,但函数体表示一个参数。能否提供您正在处理的实际问题的更多上下文?如果你给出准确的代码,这将是最简单的。