앞서 일반 for문을 알아 보았다면, 일반 for문에서 보유한 3개의 변수 중 첫번째 함수 변수가 반복자 생성 함수(클로저)에서 뽑아낸 반복자와 틀리다는 것을 알 수 있을 것이다. 루아에선 for문의 함수 변를 "무상태 반복자 : Stateless Iterators" 라 부른다.

이 무상태 반복자는 클로저에서 처럼 반복자 내부 모두 처리하는 것은 아닌, 외부의 인자로 내부의 연산을 수행하는 함수를 가리킨다.

좋은 점은 for 문이 사라지면, 자동으로 stack에서 이 외부 변수를 사라지게 됨으로 최적화가 되어 지는 것으로 보여 진다(.. 물론 추측이다.)

일반 for문의 함수 변수에 이 무상태 반복자 함수를 할당하는게 더 좋다고 하니까, 이 규칙만 알고 넘어가자.


총평

.. 개념 이해..


신고
posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요