generator

    PHP: 제네레이터 (Iterator)

    제네레이터 제네레이터는 모던 PHP에서 등장한 흥미로운 기능으로, 내부적으로 Iterator 인터페이스를 구현한 빌트인 클래스입니다. 생긴건 함수처럼 생겼지만, 함수 내부에서 yield 라는 키워드를 사용하여 마치 Break Point 를 넣은 것처럼, 값을 외부에 던져주고 다시 내부로 돌아가서 진행할 수 있습니다. 사실 이야기만 들어서는 잘 모를 수 있는데, 코드를 보면 쉽게 알 수 있을 것입니다. 자바스크립트에도 제네레이터는 존재하지만, 그보다는 복잡하지 않습니다. yield 제네레이터는 마치 함수처럼 생겼습니다. 그런데 사실 이렇게 만든 제네레이터를 호출해서 값을 반환받으면 흥미로운 객체를 얻을 수 있습니다. 바로 제네레이터 객체입니다. 즉, 함수의 모습을 하고 있지만, 실은 전혀 다른 개념이라는 ..