Erlang ETS采用袋式元件订购

时间:2014-05-17 17:48:54

标签: sorting erlang ets

我有一些像这样的代码:

Table = ets:new(table, [bag]),
true = ets:insert(Table, {bucket_1, some_value_1}),
true = ets:insert(Table, {bucket_1, some_value_2}),
true = ets:insert(Table, {bucket_1, some_value_3}),

LookupResult = ets:lookup(Table, bucket_1),
?_assertEqual(
    [{bucket_1, some_value_1}, {bucket_1, some_value_2}, {bucket_1, some_value_3}],
    LookupResult
).

ETS是否保证桶内元素的排序?我是否应该期望ETS保存元素的顺序,因为元素已被添加到表中?

1 个答案:

答案 0 :(得分:5)

specification of lookup/2说:

  

[...]保留对象插入的时间顺序;首先   用给定键插入的对象将首先在结果中   列表,等等。