将数组插入构造函数Haskell
我有一个函数,返回这种形式的数组将数组插入构造函数Haskell,haskell,Haskell,我有一个函数,返回这种形式的数组 [1.2,1.3,2.3] 我创建了数据: data SpecielNumber = SP Float Float Float 如何从返回要生成的编号的foo函数中执行操作 像这样的事情是行不通的:( 谢谢希望这些能给你一些线索。你应该多读一些 > data SpecielNumber = SN Float Float Float deriving (Show) > let makeSN [x,y,z] = SN x y z >
[1.2,1.3,2.3]
我创建了数据:
data SpecielNumber = SP Float Float Float
如何从返回要生成的编号的foo
函数中执行操作
像这样的事情是行不通的:(
谢谢希望这些能给你一些线索。你应该多读一些
> data SpecielNumber = SN Float Float Float deriving (Show)
> let makeSN [x,y,z] = SN x y z
> makeSN [1.2,1.3,2.3]
SN 1.2 1.3 2.3
首先,
[1.2,1.3,2.3]
不是数组,而是列表
其次,您的数据类型SpecialNumber
需要一个构造函数名称。因此,您可以在其构造函数中设置如下列表:
data SpecialNumber = SpecialNumber [Float]
第一个SpecialNumber
是类型的名称。第二个是构造函数的名称。这是不同的名称空间。除非您使用不同的变体定义类型,否则通常会有两个匹配,例如:
data Either a b = Left a | Right b
左
和右
是可选的构造函数,类型称为或
哦,我明白了..谢谢。答案讨论了命名约定方面的次要问题。这可能足以说明“单个数据构造函数与类型构造函数具有相同的属性是很常见的;两者总是可以通过上下文来区分的”,并保持不变。
data Either a b = Left a | Right b