ETS功能在Erlang中无法正常工作

时间:2013-12-08 11:39:17

标签: erlang ets

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

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

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:2)

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

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

现在可以将表名用作其标识符。这与注册它们的“命名”过程类似。