Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将列表与haskell进行比较_Haskell - Fatal编程技术网

将列表与haskell进行比较

将列表与haskell进行比较,haskell,Haskell,我试图编写一个Haskell函数,其中一个元素将与一个列表进行比较。 看起来很简单,但它不起作用 zeich :: Char -> Bool zeich x = elem x ['a','v','b'] 还有,我应该如何处理数据类型?这样您也可以输入数字?您的zeich功能很好,快速的ghci会话提供: λ: let zeich :: Char -> Bool; zeich x = elem x ['a', 'v', 'b'] λ: zeich 'b' True λ: zei

我试图编写一个Haskell函数,其中一个元素将与一个列表进行比较。 看起来很简单,但它不起作用

zeich :: Char -> Bool

zeich x =   elem x ['a','v','b']

还有,我应该如何处理数据类型?这样您也可以输入数字?

您的
zeich
功能很好,快速的
ghci
会话提供:

λ: let zeich :: Char -> Bool; zeich x = elem x ['a', 'v', 'b']
λ: zeich 'b'
True
λ: zeich 'c'
False
如果你想在列表中存储字符和数字,你需要设计一种新的类型,可以容纳任何一种类型的值,例如

λ: data Element = Letter Char | Number Int deriving Eq
然后可以使用它定义一个接受
元素类型的值的
zeich2
编号:

λ: let zeich2 :: Element -> Bool; zeich2 x = elem x [Letter 'a', Number 3, Letter 'b']
λ: zeich2 (Letter 'a')
True
λ: zeich2 (Number 3)
True
λ: zeich2 (Number 4)
False

什么是“不起作用”呢?什么是不起作用的?您指的是什么数据类型?你想在哪里输入数字?啊,我看到了我的错。ghci中始终忽略了“”。是否可能要编写一个函数,您可以只键入一个不带“”的字母?否。不带“”的字母是标识符。