无法读取自定义数据类型

1 haskell typeclass deriving

data MyNum = One
           | Two
           | Three
           deriving (Show, Eq)
Run Code Online (Sandbox Code Playgroud)

我只是MyNum用构造函数定义One,TwoThree.

*主要>:t一个

一个:: MyNum

但是当我添加x = read("One")::MyNum到我的程序时,ghci会产生错误:

使用'read'时没有(Read MyNum)的实例

在表达式中:read("One"):: MyNum

在'x'的等式中:x =读("一"):: MyNum

为什么我read不能呢?

Rah*_*ahn 8

你必须得出以下Read定义MyNum:

data MyNum = One
           | Two
           | Three
           deriving (Show, Eq, Read)

x = read("One")::MyNum
Run Code Online (Sandbox Code Playgroud)

*主要> x