Lua / Initialize表带有内联函数代码,但赋值不是函数

时间:2017-08-08 17:09:54

标签: lua lua-table

我有这个Lua代码来初始化一个表:

var num = 1.2353453;
num.toFixed(2); // 1.24

此table.c具有类型函数后我必须使用table = { a = 1; b = myfunc(); c = function () <some code> end; } 在一个打印语句中使用..运算符来获取结果。但我想改用table.c()

有没有办法可以获得分配给table.c的函数的返回值,所以类型不是函数而不必在表外定义函数?

1 个答案:

答案 0 :(得分:2)

如果您希望table.c包含函数的返回值,那么您应该为其分配函数的返回值。你改为为它赋予了函数本身。

要获取函数的返回值,必须调用该函数。它与b没有什么不同。 myfunc是一个功能; myfunc()正在调用该函数并存储其返回值。

但是,由于Lua的语法,调用您正在定义的函数需要在()中包装函数构造表达式,然后调用它:

c = (function () <some code> end)();

这当然只包含构造表时该函数的值。