相关疑难解决方法(0)

Haskell类型与数据构造函数

我正在从learnyouahaskell.com学习Haskell .我无法理解类型构造函数和数据构造函数.例如,我真的不明白这个的区别:

data Car = Car { company :: String  
               , model :: String  
               , year :: Int  
               } deriving (Show) 
Run Code Online (Sandbox Code Playgroud)

还有这个:

data Car a b c = Car { company :: a  
                     , model :: b  
                     , year :: c   
                     } deriving (Show)  
Run Code Online (Sandbox Code Playgroud)

我知道第一个只是使用一个构造函数(Car)来构建类型的数据Car.我真的不明白第二个.

另外,数据类型如何定义如下:

data Color = Blue | Green | Red
Run Code Online (Sandbox Code Playgroud)

适合所有这些?

据我所知,第三个例子(Color)是一个可以处于三种状态的类型:Blue,GreenRed.但这与我理解前两个例子的方式有冲突:这个类型Car只能处于一种状态Car,它可以构建各种参数吗?如果是这样,第二个例子如何适应?

基本上,我正在寻找一个解释,统一上述三个代码示例/结构.

haskell

116
推荐指数
5
解决办法
3万
查看次数

标签 统计

haskell ×1