最小的例子实际上是Rings 主页的第二个例子
require"rings"
local init_cmd = [[
require"stable"]]
local count_cmd = [[
count = stable.get"shared_counter" or 0
stable.set ("shared_counter", count + 1)
return count
]]
S = rings.new () -- new state
assert(S:dostring (init_cmd))
print (S:dostring (count_cmd)) -- true, 0
print (S:dostring (count_cmd)) -- true, 1
S:close ()
S = rings.new () -- another new state
assert (S:dostring (init_cmd))
print (S:dostring (count_cmd)) -- true, 2
S:close ()
但是,我无法获得shared_counter
. print(shared_counter)
输出nil
。
我试过用stable.get()
,但它说stable
只能在奴隶状态下使用。我终于尝试了
remotedostring("shared_counter = "..count)
哪个有效,但我不太确定这是否是正确的方法。我想直接访问stable
值表就足够了?
编辑:哦,我忘了补充,问题的主要部分是以另一种方式进行通信 - 从主机到从机。