私は、外部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
私はnotify_api_that_i_am_done
を呼び出すするつもりはありませんよbreak
手段。 notify_api_that_i_am_done
が確実に呼び出されるように、これをどのように構成できますか?これには良いパターンがありますか?
'break notify_api_that_i_am_done'の何が問題になっていますか? – spickermann
@spickermann私は正直なところ、そのことは分からなかった。 – abeger