【问题标题】:ETS function not working properly in Erlang [closed]ETS功能在Erlang中无法正常工作[关闭]
【发布时间】:2013-12-25 12:30:21
【问题描述】:

ets 的新函数返回一个整数而不是原子

    1> A=ets:new(hello,[set]).
       126999

【问题讨论】:

  • 在此处提出此类问题之前检查文档是有意义的。

标签: erlang ets


【解决方案1】:

ets:new/2 应该返回一个类型为tid() 的表标识符。该标识符应发送到其他 ets 函数,以告知您正在处理的表。

标识符现在恰好是一个整数,但您不应该指望它(例如,您不能将两个标识符加在一起)。仅将其用作 ETS 表标识符。

【讨论】:

    【解决方案2】:

    它返回一个未定义类型的标识符,当前是一个整数。如果您创建一个命名表,那么标识符将是一个原子,即它的名称。比如:

    1> A = ets:new(hello, [set,named_table]).
    hello.
    2> A.
    hello
    

    现在可以将表名用作其标识符。这类似于通过注册进程来“命名”进程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-23
      • 2013-11-06
      • 2013-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多