Sunday, May 13, 2012

Lua의 closure를 이용한 코드

maker()는 일종의 factory. maker()가 는 iter()라는 함수를 리턴한다.
 function maker()  
      local n = 0  
      function iter()  
           n = n + 1  
           return n  
      end  
      return iter  
 end  
위와 아래의 코드는 동일하다. function에 이름을 붙였는지 안붙였는지의 차이.
 function maker()  
      local n = 0  
      return function()  
           n = n + 1  
           return n  
      end  
 end  
출처 : Litt's Lua Laboratory: Lua Closures and Iterators (With Snippets)

No comments:

Post a Comment