У меня есть эта строка кода, но у него есть некоторые проблемы ..Haskell читать без ошибки синтаксического анализатора
type PhonePad = [(Int,String)]
dayPad = [(1,"Monday"), (2,"Tuesday")] -- I don't list out all of them
data PhoneDay = Monday | Tuesday
deriving (Eq, Ord,Show,Read,Bounded)
testtt :: PhonePad -> Int -> String
testtt p d = snd $ (filter (\x -> fst x == d) p)!!0
Я хочу, чтобы отобразить тип Phonepad числа. Скажи testtt dayPad 2 == "Tuesday"
Я хочу получить Tuesday
:
read $ testtt dayPad 2 :: PhonePad
Но он всегда возвращает сообщ об ошибке:
*** Exception: Prelude.read: no parse
Кто-нибудь знает, что здесь не так?
Вам действительно нужны строки в 'PhonePad'? Будет ли «набирать PhonePad = [(Int, PhoneDay)]' достаточно? – chi