【发布时间】:2013-05-13 01:23:11
【问题描述】:
我正在尝试开发一个对具有相同键的两个值执行数学运算的函数:
property = {a=120, b=50, c=85}
operator = {has = {a, b}, coefficient = {a = 0.45}}
function Result(x) return operator.has.x * operator.coefficient.x end
print (Result(a))
error: attempt to perform arithmetic on field 'x' (a nil value)
问题是该函数在字面上尝试数学 “operator.has.x”而不是“operator.has.a”。
我可以调用函数 (x) 返回 x.something end,但如果我尝试函数 (x) something.x,我会收到错误消息。我需要提高对 Lua 函数的理解,但在手册中找不到。
【问题讨论】: