앞서 일반 for문을 알아 보았다면, 일반 for문에서 보유한 3개의 변수 중 첫번째 함수 변수가 반복자 생성 함수(클로저)에서 뽑아낸 반복자와 틀리다는 것을 알 수 있을 것이다. 루아에선 for문의 함수 변를 "무상태 반복자 : Stateless Iterators" 라 부른다.
이 무상태 반복자는 클로저에서 처럼 반복자 내부 모두 처리하는 것은 아닌, 외부의 인자로 내부의 연산을 수행하는 함수를 가리킨다.
좋은 점은 for 문이 사라지면, 자동으로 stack에서 이 외부 변수를 사라지게 됨으로 최적화가 되어 지는 것으로 보여 진다(.. 물론 추측이다.)
일반 for문의 함수 변수에 이 무상태 반복자 함수를 할당하는게 더 좋다고 하니까, 이 규칙만 알고 넘어가자.
총평
.. 개념 이해..
'책 정리 > Programming in Lua' 카테고리의 다른 글
루아(Lua), 일반 for 문 개념 잡기 ( 일반 for 문의 문법 : The Semantics of the Generic for ) 편 (0) | 2010.12.22 |
---|---|
루아(Lua) 8.2, C 패키지 ( C Packages ) (0) | 2008.12.23 |
루아(lua), 8.1 컴파일, 실행 및 오류 검사(Compilation, Execution, and Errors) : 컴파일 (0) | 2008.12.21 |
루아(Lua) 7.5 : 일반 for 문 개념 잡기 ( 진짜 반복자 : True Iterators ) 편 (0) | 2008.12.21 |
루아(Lua) 7.4, 일반 for문 보충 개념 잡기 ( 복잡한 상태를 가진 반복자 함수 : Iterators with Complex State ) 편 (0) | 2008.12.21 |
루아(Lua), 반복자와 일반 for문 ( 반복자와 클로저 : Iterators and the Generic for ) 편 (2) | 2008.12.14 |
루아(Lua), 함수 양념 고급 활용 하기 ( 함수 꼬리 호출 : Proper Tail Calls ) 편 (0) | 2008.12.14 |
루아(Lua), 함수 양념 고급 활용 하기 ( 비전역 함수: Non-Global Functions ) 편 (0) | 2008.12.14 |
루아(Lua), 함수 양념 고급 활용 하기 ( 클로저 : Closures ) 편 (0) | 2008.12.14 |
루아(Lua), 함수 양념 고급 활용 하기 ( 함수 고급 활용 : More about Functions ) (0) | 2008.12.14 |
최근댓글