我刚刚开始使用Haskell,我一直在尝试创建一个简单的Number数据类型,它有一个像这样的Int:
data Number
= Num Int
deriving (Read, Show)
Run Code Online (Sandbox Code Playgroud)
然后我试着read "1234" :: Number希望能给出类似的东西Num 1234,但我似乎得到了一个"Exception:Prelude.read:no parse".还有别的东西让我失踪吗?
你得到的实例会给出read "Num 1234" = Num 1234.
这是一个预计,实例的行为Read,但如果你真的想要一个不同的行为,你就必须实现read为Number自己(您可以再利用Int的,虽然).