如何使用Haskell中的保护来确定输入字符是否为数字?这就是我的想法,
test :: (Eq a, Num a) => a -> Bool
test a
| elem a [1, 2, 3, 4, 5, 6, 7, 8, 9] = True
| otherwise = False
然而,当给定Char时,它返回:";错误:变量不在作用域中:a";。我如何修改它,使其也将字符作为输入?提前感谢
然而,当给定Char时,它返回:
"error: Variable not in scope: a
如果使用Char
,则需要使用test 'a'
,而不是test a
。然而,将不起作用。事实上,类型签名是:
test :: (Eq a,Num a) =>a-> Bool
因此,它适用于数字类型。对于Char
,您需要使用:
test :: Char -> Bool
test = a `elem` …
在我把填写…
部分作为练习的地方,这应该是Char
的可折叠部分,例如String
。