在 Haskell 控制台中使用编辑器中的变量和列表

Ale*_*aro 0 variables haskell functional-programming function global-variables

程序应该检查数字 2 是否属于集合 A。但是 x (2) 的值和集合 A (1, 2, 4, 5) 我想在编辑器中定义,而不是在控制台中定义。我有这个代码:

x = 2
let A = [1, 2, 4, 5];

checkIfElem :: Nat -> Bool
checkIfElem x A
          |x`elem` A =True
          |otherwise = False
Run Code Online (Sandbox Code Playgroud)

它告诉我不正确的缩进,我不知道为什么我只想它返回 true 或 false,我不想也不必要求提供数字或列表。

ama*_*loy 6

  • 您不能let在顶层使用。只需定义没有前导码的变量,就像您对x.
  • A是非法变量名。变量必须以小写字母开头。
  • 声明的类型checkIfElem有一个参数,但其定义有两个。