1

私は次の項目を持つetsを持っています:

[at, {other_place}, me],
[other_place, {place}, {other_place}]],
[at, {place}, me], 
[on, {surface}, {object}],
[small, {object}]

そして、私はリストを持っています[[at, door, me],[on, floor, chair],[small, bannanas]]

ets テーブル内のすべてのアイテムをリスト内のアイテムと比較する必要があり、最初のアイテムが同じアトムである場合は、丸括弧内のアイテムを置き換えます。したがって、 がある場合[at, door, me]、それは と一致し、すべての ets テーブルでアトム ドア[at, {other_place}, me]を変更する必要があります。{other_place}

4

1 に答える 1

0

これは、Acc引数として比較するリストを渡すことにより、 ets:foldlで実現できると思います。

必要に応じて、 lists:foldlを使用してリストを折りたたむこともできます(サブリストを確認する必要がある場合)。

于 2012-04-19T21:14:21.713 に答える