数据构造函数haskell中的访问类型字段

数据构造函数haskell中的访问类型字段,haskell,types,syntax,output,Haskell,Types,Syntax,Output,我有一个问题,如何访问数据构造函数中的某些类型。假设我得到了这个代码示例 data Object = Object Type1 Type2 Type3 Type4 deriving(Eq,Show) type Type1 = Float type Type2 = Bool type Type3 = Int type Type4 = String 我定义了一个函数,叫做 construct = Object 5.6 True 10 "World" 如何从构造中打印某些类型例如,我想从构造中

我有一个问题,如何访问数据构造函数中的某些类型。假设我得到了这个代码示例

data Object = Object Type1 Type2 Type3 Type4
  deriving(Eq,Show)
type Type1 = Float
type Type2 = Bool
type Type3 = Int
type Type4 = String
我定义了一个函数,叫做

construct = Object 5.6 True 10 "World"
如何从构造中打印某些类型例如,我想从构造中打印“世界”如何获取该信息

Type4 construct 
不起作用

提前感谢您使用模式匹配

我们可以构造一个使用模式匹配的函数:

objectType1 :: Object -> Type1
objectType1 (Object x _ _ _) = x
使用记录语法 我们还可以使用记录语法定义数据类型:

然后Haskell将自动构造getter,这样您就隐式地构造了这样的
objectType1
函数

我们还可以将此类记录语法用作“setter”,例如:

setObjectType1 :: Type1 -> Object -> Object
setObjectType1 t o = o { objectType1 = t}
还有,线路

Object t1 t2 t3 t4 = construct

似乎要打开这四个字段。我是Haskell的新手,所以我不知道这是一种记录在案的行为还是推荐的方法(某种模式匹配?)。

类型以大写开头。
Object t1 t2 t3 t4 = construct