Haskell的列表要求其中的每个元素的类型都必须相同,
假设有如下一个list:
[a,b,c]
该list中的a\b\c类型要相同,
[1,2,3]和[4,5]的类型是相同的,都是(Num t)=>[t]
[[1,2],[1,2,3]]和[[1,2],[1,2,3],[1,2,3,4]]的类型是相同的,都是(Num t)=>[[t]]
[1,2,3]和['a','b','c']是不同的
和列表相似,但类型方面有很大不同的类型是元组。
假设有如下一个Tuple:
(a,b,c)
a,b,c不要求类型相同。
(a,b)和(a,b,c)虽然都是元组,但是类型不同,
所以如果要把列表写成这个样子:
[(a,b),(a,b,c)]
虽然列表中的元素都是元组,但是由于元组数量不同导致该列表不成立。
假设有如下一个list:
[a,b,c]
该list中的a\b\c类型要相同,
[1,2,3]和[4,5]的类型是相同的,都是(Num t)=>[t]
[[1,2],[1,2,3]]和[[1,2],[1,2,3],[1,2,3,4]]的类型是相同的,都是(Num t)=>[[t]]
[1,2,3]和['a','b','c']是不同的
和列表相似,但类型方面有很大不同的类型是元组。
假设有如下一个Tuple:
(a,b,c)
a,b,c不要求类型相同。
(a,b)和(a,b,c)虽然都是元组,但是类型不同,
所以如果要把列表写成这个样子:
[(a,b),(a,b,c)]
虽然列表中的元素都是元组,但是由于元组数量不同导致该列表不成立。
Haskell列表与元组类型解析
本文介绍了Haskell中列表和元组的类型规则。列表要求所有元素类型一致,如[1,2,3];而元组允许不同类型组合,如(a,b),且元组数量不同则类型也不同。
9096

被折叠的 条评论
为什么被折叠?



