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],它与 匹配[at, {other_place}, me],我必须更改{other_place}所有 ets 表中的原子门。

4

1 回答 1

0

我认为这可以通过ets:foldl来实现,方法是将要比较的列表作为 Acc 参数进行比较。

如有必要,列表也可以与lists:foldl折叠,如果您需要通过它的子列表。

于 2012-04-19T21:14:21.713 回答