列挙子の最後にあることを実現するための優雅な方法はありますか?
例えば、
a = (1..10).to_a
e = a.each
e.next # should yield 1
while e.next
# do something
end
もちろん、列挙子の最後に到達すると、eはStopIteration を発生させます。
レスキューなしでwhileループから抜け出すための良い方法はありますか?私はe.eachとだけ言うことができることを知っています(または列挙子をまったく使用しない)が、私の特定の問題については、最初の数回の反復で特別なことを行い、最後の数回で一般的なことをしたいと思います。
次の値を見てnil
、エラーの代わりに取得する方法が必要です。
任意のヒント?私が行方不明になっていることはおそらく明らかです...
NB。列挙子を使用する必要はありませんが、問題を解決する最も簡単な方法のようです。したがって、列挙子以外のソリューション(列挙型を反復処理するため)がある場合は、自由に共有してください。(その点で、多分私はそれぞれまたはeach_with_indexを使用し、特別な場合にはカウンターを使用する必要があります...)