比较Haskell中的不同数据类型
试图找出比较两个值相似但类型不同的元素的最佳方法 例如,如果用户输入“A”、“B”或“C”以及其他任何内容的“否”,则此函数应打印“是”比较Haskell中的不同数据类型,haskell,type-conversion,typing,Haskell,Type Conversion,Typing,试图找出比较两个值相似但类型不同的元素的最佳方法 例如,如果用户输入“A”、“B”或“C”以及其他任何内容的“否”,则此函数应打印“是” data Letter = A | B | C deriving (Read, Show) type LetterList = [Letter] main = do putStrLn "Enter a capital letter, and we'll see if it's in the Letter type!" myLetter <-
data Letter = A | B | C deriving (Read, Show)
type LetterList = [Letter]
main = do
putStrLn "Enter a capital letter, and we'll see if it's in the Letter type!"
myLetter <- getLine
if myLetter `elem` myLetters -- here's the rub
then do
print "Yes"
else do
print "No"
where
myLetters :: LetterList
myLetters = [A,B,C]
数据字母=A | B | C派生(读取、显示)
键入字母列表=[字母]
main=do
putStrLn“输入大写字母,我们将查看它是否为字母类型!”
myLetter对于您的特定示例,您可以尝试使用以下方法解析字符串:
请参见更简单的。
case reads myLetter :: [(Letter, String)] of
[(_, "")] -> putStrLn "yes"
otherwise -> putStrLn "no"