【请问】Lua函数返回的函数会在每次调用的时候重计算函数定义吗
lua吧
全部回复
仅看楼主
level 13
如题。比如说有下面的例子:
print("Input an integer a:")
local a = io.read();
print("Input an integer b:")
local b = io.read();
local func = function(x)
return (a*a*a+a*b-3*b)*x;
end
那么func函数在每次被调用的时候会重新计算系数
(a*a*a+a*b-3*b)
吗?如果不会,有没有什么方法让这个系数只计算一次,以后执行这个函数的时候直接用这个计算好的系数呢?
2016年11月23日 13点11分 1
level 11
这个func每调用一次肯定会重新计算的,因为每次调用参数x可能会不一样,所以要是不重新计算结果就会出错。
要是不想每次都算那么多,其实很简单,可以先在函数外面用一个变量储存好a*a*a+a*b-3*b的值,用这个变量跟x乘就好了
2016年11月24日 06点11分 2
1