我试着编写一个Haskell函数,其中一个元素将与列表进行比较。 似乎很容易,但它不工作。将列表与haskell比较
zeich :: Char -> Bool
zeich x = elem x ['a','v','b']
另外我该怎么做数据类型?所以你也可以输入数字?
我试着编写一个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
λ: zeich 'c'
False
如果你想存储字符并在列表号码,你需要制定一个新的类型,可容纳值任何一种类型,例如
λ: data Element = Letter Char | Number Int deriving Eq
使用它,那么你可以定义一个zeich2
数,它接受Element
类型的值:
λ: 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中忽略''。 是否可以写一个函数,在那里你可以只输入一个没有''的字母? – letter
否。不带“'的字母是标识符。 –
什么是“不工作”呢? – MathematicalOrchid
什么不在这里工作?你指的是什么数据类型?你想在哪里输入数字? – crockeea