• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

generator에 대한 질문입니다.

21.05.18 17:23 작성 조회수 124

1

log(filter( n => n%2, function *() {

    yield 1;

    yield 2;

    yield 3;

    yield 4;

    yield 5;

}() ));

위 코드에서 function *() {...} generator로 인자로 넘어가는데, 혹시 function *() {...}() 에서 마지막에 ()가 붙는 이유가 무엇일까요?

제가 빼고 테스트를 해보니 에러가 발생하는데, 이유를 모르겠습니다.

설명 부탁 드립니다.

감사합니다.

답변 1

답변을 작성해보세요.

0

() 를 하지 않으면 제너레이터를 정의만하고 실행은 하지 않은채로 인자로 넘기게 되고, ()를 통해 정의한 제너레이터를 실행하여 이터레이터로 만든 후 인자로 넘기고 있습니다. 감사합니다.