我有这个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的函数的返回值,所以类型不是函数而不必在表外定义函数?
答案 0 :(得分:2)
如果您希望table.c
包含函数的返回值,那么您应该为其分配函数的返回值。你改为为它赋予了函数本身。
要获取函数的返回值,必须调用该函数。它与b
没有什么不同。 myfunc
是一个功能; myfunc()
正在调用该函数并存储其返回值。
但是,由于Lua的语法,调用您正在定义的函数需要在()
中包装函数构造表达式,然后调用它:
c = (function () <some code> end)();
这当然只包含构造表时该函数的值。