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 が要素の順序を保存することを期待する必要がありますか?

4

1 に答える 1

5

仕様はlookup/2次のように述べています。

[...] オブジェクト挿入の時間順は保持されます。指定されたキーで挿入された最初のオブジェクトが、結果リストの最初になります。

于 2014-05-17T18:10:27.710 に答える