同じキーを持つ 2 つの値に対して数学を実行する関数を開発しようとしています。
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.a」ではなく「operator.has.x」で計算を試みていることです。
関数 (x) return x.something end を呼び出すことはできますが、関数 (x) something.xi を実行しようとするとエラーが発生します。Lua の関数について理解を深める必要がありますが、マニュアルに記載されていません。