好吧,我一直在想方设法弄清楚这一点。Erlang - 全局变量..是我知道,我知道
我需要让这张表成为一个全局的..我已经意识到在我的程序范围内传递TableID的效率要低得多。
所以,我试图创建一个新表,然后寻找它:
TableID = ets:new(tb, [set,public]),
put({tableUniqueID}, TableID),
然后我用:
get({tableUniqueID})
而且在同一个函数返回表格ID就好了......然而,当我在另一个函数中使用它,它返回一个未定义的。
什么?我想获取和放置了一个重要的全球性..
之前也这一切我认识你“可以”调用表查找功能,例如:
ets:lookup(get({tableUniqueID}), msgIn)
同样的事情,在功能上的作品,外面不..获取把问题..
然后我意识到另一种方式来查找表是通过调用表
ets:lookup(tb, msgIn)
的原子但是这永远不会奏效,不会在函数内部,不出..
所以我的主要优先事项是要找出为什么查找一个表的原子,是不可能的。但它说这是最无处不在,包括手册。
get/put我可以没有,只要我可以存储表,然后通过它的原子标识符查找表。
任何人都可以解释这种困境吗?