happy cat image

everdevel

Brand New Day

login
알림X
  • 현재 댓글에 대한 답변만 표시합니다.
  • 표시할 댓글 이력이 없거나 로그인해 주세요.

EEOS

에버디벨 책을 학습할 수 있는 클라우드 개발 환경을 제공합니다.
개발환경구축없이 태블릿에서도 개발할 수 있는 책의 예제와 프로젝트
오직 당신을 위한 스토리지, URL, DB, 무제한 트래픽
그리고 웹기반 개발환경을 제공합니다.

더 알아보기
에버디벨이 만든 무료 클라우드 개발환경을 소개합니다.

제너레이터 - from

제너레이터에서 다른 제너레이터로 연결하는 방법에 대해서 알아보겠습니다.
이것을 제너레이터 델리게이션(Delegation : 위임)라고 합니다. from키워드를 사용합니다.

제너레이터 from 사용 방법

function 제너레이터1() {

    echo "제너레이터 1 작동 1 <br>";
    echo "제너레이터 1 작동 2 <br>";

    yield "제너레이터 1 - 1";

    echo "제너레이터 1 작동 3 <br>";
    echo "제너레이터 1 작동 4 <br>";

    yield "제너레이터 2 - 1";

    echo "제너레이터 1 작동 5 <br>";
    echo "제너레이터 1 작동 6 <br>";

    yield from 제너레이터2();
}

function 제너레이터2() {
    echo "제너레이터 2 작동 1";
    echo "제너레이터 2 작동 2";

    yield "제너레이터 2 - 1";
    return;
}

위의 제너레이터1의 마지막을 보면 from 키워드를 사용하여 제너레이터2를 호출해요.
자 그럼 제너레이터1을 호출해서 제너레이터2도 함께 호출됨을 예제로 확인해 볼게요.

<?php
    function generatorOne() {

        echo "제너레이터 1 작동 1 <br>";
        echo "제너레이터 1 작동 2 <br>";

        yield "제너레이터 1 - 1<br>";

        echo "제너레이터 1 작동 3 <br>";
        echo "제너레이터 1 작동 4 <br>";

        yield "제너레이터 2 - 1<br>";

        echo "제너레이터 1 작동 5 <br>";
        echo "제너레이터 1 작동 6 <br>";

        yield from generatorTwo();
    }

    function generatorTwo() {
        echo "<hr>제너레이터 2 작동 1<br>";
        echo "제너레이터 2 작동 2<br>";

        yield "제너레이터 2 - 1<br>";
        return;
    }

    foreach(generatorOne() as $go){
        echo $go;
    }
?>

로그인을 하지 않은 상태에서도 이제 위의 코드를 실행 할 수 있습니다.
PLAY CODE 버튼 클릭 후 광고없이 횟수제한없이 코드를 실행 할 수 있습니다.
LOGIN

다음은 위코드의 결과입니다.

from 키워드를 사용해 제너레이터에서 다른 제너레이터를 호출하는 방법에 대해 알아봤습니다. ^^

봐주셔서 감사합니다. 문의 또는 잘못된 설명은 아래의 댓글에 부탁드립니다.


    
    

강좌로 돌아가기

댓글 0개

정렬기준