Erlang ETS中bag类型元素的排序

3

我有一些类似于这样的代码:

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个回答

5
lookup/2的规范中提到:

……对象插入的时间顺序得到保留;使用给定键值插入的第一个对象将在结果列表中排在最前面,以此类推。


是的,我刚刚5秒钟前找到了这些单词。谢谢 =) - Viacheslav Kovalev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接