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)]
虽然列表中的元素都是元组,但是由于元组数量不同导致该列表不成立。