외부 API의 데이터를 반복하는 열거자를 사용하고 있습니다. API는 루핑이 완료되면이를 알리라고 요청합니다. 이것은 열거자가 데이터가 부족해질 때까지 열거가 가능할 때 매우 쉽습니다.Ruby에서 열거자를 "닫을 수 있습니까?"
def api_enum
return enum_for(:api_enum) unless block_given?
loop_on_api_calls { |thing| yield thing }
notify_api_that_i_am_done
end
이 경우에는 어떨까요?
api_enum.each do |thing|
do_stuff(thing)
break
end
break
내가 결코 notify_api_that_i_am_done
를 호출 않을거야 의미합니다. notify_api_that_i_am_done
이 호출되도록하려면 어떻게 구성해야합니까? 이것에 좋은 패턴이 있습니까?
'break notify_api_that_i_am_done'의 문제점은 무엇입니까? – spickermann
@spickermann 솔직히 그게 뭔지 몰랐습니다. – abeger