我正在尝试开发一个对具有相同键的两个值执行数学运算的函数:
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.xi 会出错。我需要提高对 Lua 函数的理解,但在手册中找不到。