我試着編寫一個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