带入隐藏值(不能被外部访问的)实现数据保护
例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分两次进行了传入
转载于:https://www.cnblogs.com/ad-1990/p/4121312.html