元组和记录有什么区别?
答案 0 :(得分:10)
两者都是product types,它允许您从多个更简单的类型构建类型。有些语言将元组视为一种记录。
元组是一组有序的元素,如(10,25)。
记录通常是一组命名元素,例如{ "x": 10, "y": 25 }
,其中值包含两个标记为x
和y
的字段,字段x
的值为{{1 }}
单词“tuple”来自“五元组”,“六元组”,“七元组”,“八元组”的常见“-tuple”后缀,分别表示5,6,7和8组。
“记录”一词来自数据表。您可以将10
和x
字段作为表格考虑所有可能的元组,其中列对应于字段,行收集特定记录实例的所有字段。
y
您可以将元组视为一种记录,其中元组中元素的索引是等效记录中的名称,因此 value address field x field y
0xABCD 10 25
0x1234 42 "xyz"
为(10, 25)
。我相信标准ML和相关语言使用记录作为type conjunction(algebraic data types提供类型析取)的基本单位,并以这种方式将元组视为一种记录。
答案 1 :(得分:5)
根据维基百科:
在计算机科学中,记录(也称为元组或结构)是最简单的数据结构之一,由连续内存中存储的两个或多个值或变量组成位置;这样,通过对起始地址应用不同的偏移量,可以访问每个组件(称为记录的字段或成员)。
我想说元组和记录之间几乎没有区别。