当变量的先前赋值发生更改时,使变量自动更新。

假设我有以下代码:

local a =“第一行文本”
local b = a
print(a) - 输出“第一行文本”
print(b) - 输出“第一行文本”

local c =“第二行文本”
a = c
print(a) - 输出“第二行文本”
print(b) - 输出“第一行文本”

所以,如果我将变量“a”分配为变量“c”,变量“b”将不会更新。

我需要使变量“b”在我更新“a”时更新自身。 (在这种情况下,还使“b”具有变量“c”的值)。

有没有办法做到这一点?

更新:上面的代码只是一种简化。 在我的实际情况中,变量是表格(不是字符串)。

点赞
用户2546626
用户2546626

你对 Lua 中变量赋值和数据类型的工作方式有误解。

只有表格和用户数据以引用形式存储,其他所有内容(包括字符串)均以值形式存储。a 被复制并存储为 bc 被复制并存储为 a

你可以将字符串放在表格中作为条目,因此表格是一个包装器并充当C指针。

你可以通过[元表](http://www.lua.org/manual/5.2/manual.html#2.4)进一步进行面向对象编程。

2015-09-06 00:10:46