라이브러리
[PHP] ReflectionGenerator::isClosed - 실행이 완료되었는지 확인합니다.
ReflectionGenerator::isClosed
PHP ReflectionGenerator::isClosed 메소드는 Generator 객체가 종료되었는지 여부를 확인합니다. Generator 객체는 반복문에서 사용되는 함수로, 반복을 위해 yield 키워드를 사용하여 값을 반환합니다. 이 메소드는 Generator 객체가 종료되었는지 여부를 확인하여, Generator 객체가 종료되었을 때 반복을 멈추는 등의 작업을 수행할 수 있습니다.
예제
#hostingforum.kr
php
function fibonacci() {
$a = 0;
$b = 1;
while (true) {
yield $a;
list($a, $b) = array($b, $a + $b);
}
}
$generator = fibonacci();
print($generator->current() . "
"); // 0
print($generator->current() . "
"); // 1
print($generator->current() . "
"); // 1
print($generator->current() . "
"); // 2
print($generator->current() . "
"); // 3
print($generator->current() . "
"); // 5
print($generator->current() . "
"); // 8
print($generator->current() . "
"); // 13
print($generator->current() . "
"); // 21
print($generator->current() . "
"); // 34
print($generator->current() . "
"); // 55
print($generator->current() . "
"); // 89
print($generator->current() . "
"); // 144
// Generator 객체가 종료되었는지 확인
var_dump(ReflectionFunction::export('fibonacci')->getClosure()->getGenerator()->isClosed()); // bool(false)
// Generator 객체를 종료
$generator->next();
// Generator 객체가 종료되었는지 확인
var_dump(ReflectionFunction::export('fibonacci')->getClosure()->getGenerator()->isClosed()); // bool(true)
사용 방법
1. Generator 객체를 생성합니다.
2. ReflectionGenerator::isClosed 메소드를 사용하여 Generator 객체가 종료되었는지 여부를 확인합니다.
3. Generator 객체를 종료하기 위해 next() 메소드를 호출합니다.
4. ReflectionGenerator::isClosed 메소드를 사용하여 Generator 객체가 종료되었는지 여부를 다시 확인합니다.
참고
* PHP Manual: ReflectionGenerator
* PHP Manual: Generator
* PHP Manual: yield
* PHP Manual: next()
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.