每次调用它时如何更新变量?

时间:2014-04-14 16:31:51

标签: lua

例如,我有一个数学变量,但我不想一直重写这个等式,而只是调用变量再做数学运算。

每次打电话时,如何让它再次进行数学运算?因为即使x,y和z在整个脚本中改变它们的值,数学也会返回相同的值。

或者,如果有另一种方法可以做我需要的事情。

   math = (x+y-z)

   print(math) -- same value

   -- some lines later

   print(math) -- same value again

3 个答案:

答案 0 :(得分:3)

试试这个:

math = function () return (x+y-z) end
print(math())

答案 1 :(得分:-1)

除了再次执行赋值以使数学反映x,y和z的较新值之外,没有办法。如果您想明确避免 math = x(+ y + z),请尝试使用 #define

#define MATH_ADD (math=x+y+x) // This is not a neat way IMO though.

答案 2 :(得分:-2)

这是你想做的事吗

float x;
float y
float z;

float math () {
    return x+y-z;
}

然后,当您调用数学时,它将返回您在x,y和z中存储的内容