lua 中的闭包
带入隐藏值(不能被外部访问的)实现数据保护
例1.
function newCounter()
local i = 0
return function() -- anonymous function
i = i + 1
return i
end
end
c1 = newCounter()
print(c1()) --> 1
print(c1()) --> 2
注:对 i的值进行了保护,外部只能得到i所带来的效应,不能访问i
例2.
function myPower(x)
return function(y)
return y^x
end
end
power2 = myPower(2)
power3 = myPower(3)
print(power2(4)) --4的2次方
print(power3(5)) --5的3次方
print(myPower(2)(3)) --3的2次方
注:xy分两次进行了传入
123
浙公网安备 33010602011771号