data MyNum = One
| Two
| Three
deriving (Show, Eq)
Run Code Online (Sandbox Code Playgroud)
我只是MyNum用构造函数定义One,Two和Three.
*主要>:t一个
一个:: MyNum
但是当我添加x = read("One")::MyNum到我的程序时,ghci会产生错误:
使用'read'时没有(Read MyNum)的实例
在表达式中:read("One"):: MyNum
在'x'的等式中:x =读("一"):: MyNum
为什么我read不能呢?
你必须得出以下Read定义MyNum:
data MyNum = One
| Two
| Three
deriving (Show, Eq, Read)
x = read("One")::MyNum
Run Code Online (Sandbox Code Playgroud)
*主要> x
一