【发布时间】:2021-04-22 13:36:18
【问题描述】:
根据manual,ETS 表有 4 种类型:
set– 该表是一个集合表:一个键,一个对象,对象之间没有顺序。这是默认的表格类型。ordered_set– 该表是一个ordered_set 表:一个键,一个对象,按照Erlang 术语顺序排序,这是 运算符所隐含的顺序。这种类型的表在某些情况下与其他类型的表有一些不同的行为。最值得注意的是,ordered_set 表在它们比较相等时认为键相等,而不仅仅是在它们匹配时。这意味着对于一个ordered_set 表,integer() 1 和float() 1.0 被认为是相等的。这也意味着,如果 float() 和 integer() 混合在表的键中,则用于查找元素的键不一定与返回元素中的键匹配。bag– 该表是一个 bag 表,它可以有许多对象,但每个对象只有一个实例,每个键。duplicate_bag– 该表是一个 duplicate_bag 表,每个键可以有多个对象,包括同一对象的多个副本。
虽然我从他们的描述中并不能真正理解它们之间的区别。这里的“对象”和“对象实例”是什么?
【问题讨论】:
标签: data-structures erlang ets