lua 闭包

2023-06-08

实例1
function newCounter()
     local i = 0           --方法里的i变量不会被销毁
     return function()     -- anonymous function
        i = i + 1
         return i
     end
 end
  
 c1 = newCounter()
 print(c1())  --> 1
 print(c1())  --> 2

实例2

function myPower(x)
     return function(y) return y^x end
 end
  
 power2 = myPower(2)      --power2不单单拥有了方法myPower,并且拥有了参数2
 power3 = myPower(3)
  
 print(power2(4)) --4的2次方
 print(power3(5)) --5的3次方

《lua 闭包.doc》

下载本文的Word格式文档,以方便收藏与打印。