
Fiber::getReturn 메서드를 사용할 때, Fiber가 종료되었는지 확인하는 방법은 다음과 같습니다.
- Fiber::getReturn 메서드 호출 전, Fiber의 종료 상태를 확인할 수 있는 `Fiber#alive?` 메서드를 사용할 수 있습니다. `Fiber#alive?` 메서드는 Fiber가 종료되지 않았으면 true를 반환하고, 종료되었다면 false를 반환합니다.
Fiber가 종료되지 않았을 때, Fiber::getReturn 메서드는 Fiber가 반환한 값을 반환합니다. 그러나, Fiber가 종료되었을 때, Fiber::getReturn 메서드는 nil을 반환하지는 않습니다. 대신, `FiberError` 예외가 발생합니다.
Fiber::getReturn 메서드를 사용할 때, Fiber가 종료되었는지 확인하고, 종료되었다면 nil을 반환하도록 하려면 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
ruby
fiber = Fiber.new do
# Fiber의 내용
end
begin
return_value = fiber.resume
return_value = fiber.get_return if fiber.alive?
rescue FiberError
return_value = nil
end
이 코드에서는 `Fiber#alive?` 메서드를 사용하여 Fiber의 종료 상태를 확인하고, 종료되었다면 nil을 반환하도록 하였습니다.
2025-06-22 20:06