2

我想在 ETS 表中存储有关其他网络参与者信息的元组。我想使用{ip_address(), port_number()}(return ofinet:peername(Socket)作为条目的键的元组。也就是我想使用地址/端口的组合作为 ETS 表中其他节点/条目的标识符。

用ets可以吗?还是我必须使用其他类型作为键?

4

1 回答 1

4

ETS 代表“Erlang Term Storage”,它可以存储任何 Erlang 术语,包括元组和元组的元组。手册页ets描述部分详细说明了如何比较和匹配特定表类型的术语,文档ets:lookup/2也对此进行了讨论。对于某些表类型,Erlang 术语顺序很重要。

存储元组的哪一部分是键是没有混淆的;用于创建表格的ets:new/2函数{keypos, Pos}包括指示关键元素的选项。如果{keypos, Pos}未提供,则第一个元素是键。

于 2016-07-19T13:57:22.570 回答