개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.11 19:39

Generator::key와 Closure::key의 차이점에 대해 알려주세요

  • 앱스토어장인 5일 전 2025.03.11 19:39
  • 4
    1
제가 GENERATOR 함수를 만들 때, Generator::key와 Closure::key의 차이점을 이해하는데 어려움을 겪고 있습니다. Generator::key는 어떤 역할을 하며, 어떻게 사용하는 것이 좋을까요?

이 두 개념을 구분하는 데 도움이 되는 예시 코드나 설명 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  5일 전



    Generator::key와 Closure::key는 두 가지 다른 개념입니다.

    Generator::key는 Generator 함수의 key를 의미하며, Generator 함수를 사용할 때, Generator 함수의 key를 사용하여 Generator 함수의 상태를 관리할 수 있습니다.

    Closure::key는 Closure 함수의 key를 의미하며, Closure 함수를 사용할 때, Closure 함수의 key를 사용하여 Closure 함수의 상태를 관리할 수 있습니다.

    Generator::key와 Closure::key의 차이점은 Generator 함수는 반복적으로 실행될 수 있는 함수이며, Closure 함수는 한 번 실행되면 종료되는 함수입니다.

    Generator 함수의 key를 사용하여 Generator 함수의 상태를 관리할 때, Generator 함수의 상태를 유지할 수 있습니다. 예를 들어, Generator 함수가 1부터 10까지의 숫자를 출력하는 경우, Generator 함수의 key를 사용하여 Generator 함수의 상태를 유지할 수 있습니다.

    Closure 함수의 key를 사용하여 Closure 함수의 상태를 관리할 때, Closure 함수의 상태를 유지할 수 없습니다. 예를 들어, Closure 함수가 1부터 10까지의 숫자를 출력하는 경우, Closure 함수의 key를 사용하여 Closure 함수의 상태를 유지할 수 없습니다.

    Generator::key와 Closure::key를 구분하는 예시 코드는 다음과 같습니다.

    #hostingforum.kr
    php
    
    function generator() {
    
        $key = 1;
    
        while ($key <= 10) {
    
            yield $key;
    
            $key++;
    
        }
    
    }
    
    
    
    $generator = generator();
    
    foreach ($generator as $value) {
    
        echo $value . "n";
    
    }
    
    
    
    function closure() {
    
        $key = 1;
    
        while ($key <= 10) {
    
            echo $key . "n";
    
            $key++;
    
        }
    
    }
    
    
    
    $closure = closure();
    
    $closure();
    
    


    위의 예시 코드에서, Generator::key를 사용하여 Generator 함수의 상태를 관리할 수 있습니다. 반면, Closure::key를 사용하여 Closure 함수의 상태를 관리할 수 없습니다.

    2025-03-11 19:40

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 4,122건 / 98 페이지

검색

게시물 검색