我希望你能帮我翻译一下Haskell练习中的一点提示。
首先,我需要实现一个程序,用于检查一个整数是否为偶数...目前我的代码可以完美地实现这个功能。
isEven :: Int -> Bool
isEven 0 = True
isEven (-1) = False
isEven 1 = False
isEven x
|x<0 = isEven (x+2)
|x>0 = isEven (x-2)
接下来我需要使用这个函数来计算列表中所有偶数整数的数量。 到目前为止,我的代码:
countEven :: [Int] -> Int
countEven (x:xs) = (isEven x)
|True = 1 + countEven xs
|False = 0 + countEven xs
我想使用isEven-returncode(True|False)来确定是否计数我的Int。我不知道如何继续编写此脚本。
在这种情况下,它说:
“parse error on input '|'”
我尝试了另一个脚本,但是它给出了错误:
“Couldn't match expected type 'Int' with actual type 'Bool'。”
因此,函数isEven正在工作,但我不知道如何将“True”语句转换为我的if语句。
| x<0 = isEven (-x)
,那么就不需要isEven (-1) = False
。 - Landei