我想在 ETS 表中存储有关其他网络参与者信息的元组。我想使用{ip_address(), port_number()}
(return ofinet:peername(Socket)
作为条目的键的元组。也就是我想使用地址/端口的组合作为 ETS 表中其他节点/条目的标识符。
用ets可以吗?还是我必须使用其他类型作为键?
ETS 代表“Erlang Term Storage”,它可以存储任何 Erlang 术语,包括元组和元组的元组。手册页的ets
描述部分详细说明了如何比较和匹配特定表类型的术语,文档ets:lookup/2
也对此进行了讨论。对于某些表类型,Erlang 术语顺序很重要。
存储元组的哪一部分是键是没有混淆的;用于创建表格的ets:new/2
函数{keypos, Pos}
包括指示关键元素的选项。如果{keypos, Pos}
未提供,则第一个元素是键。