只需写下 Lua 函数的名称(不需要括号),就可以调用该函数。

我期待使用变量像 "asdf",而不是编写函数名称来检查其返回值(因为它现在和之后会改变)。这就是为什么 "asdf" 变量应该在每次使用(调用)它时更新其值的原因。

请问在 Lua 中有什么方法可以做到这一点吗?

asdf == getFunction() --我们在这里定义它

     (...)            --一些代码

if asdf < 10 then ... --在这里调用变量(因此它应该再次获取/更新 getFunction() 的结果)

谢谢

点赞
用户1847592
用户1847592
--我们在这里定义一个函数
local asdf = function ()
  return getFunction()
end

--一些代码
(...)

--在这里调用变量
--(因此应该获得/更新 getFunction() 的结果)
if asdf() < 10 then ...

更新:

解决方案不使用括号

--我们在这里定义一个变量
asdf = nil
setmetatable(_G, {__index =
   function(t, k)
      if k == 'asdf' then
         return getFunction()
      end
   end
})

--一些代码
(...)

--在这里调用变量
--(因此应该获得/更新 getFunction() 的结果)
if asdf < 10 then ...
2013-05-17 17:35:21