Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Enumerable::Enumeratorクラス > next
next -> object
[permalink][rdoc]「次」のオブジェクトを返します。
現在までの列挙状態に応じて「次」のオブジェクトを返し、列挙状態を1つ分進めます。 列挙が既に最後へ到達している場合は、 列挙状態を最初まで巻き戻すとともに StopIteration 例外を発生します。
next メソッドによる外部列挙の状態は他のイテレータメソッドによる 内部列挙には影響を与えません。 ただし、 IO#each_line のようにおおもとの列挙メカニズムが副作用を 伴っている場合には影響があり得ます。
[SEE_ALSO] Enumerable::Enumerator#rewind
例1:
str = "xyz" enum = str.each_byte str.bytesize.times do puts enum.next end # => 120 # 121 # 122
例2:
str = "xyz" enum = str.each_byte begin puts enum.next while true rescue StopIteration puts "iteration reached at end" end # => 120 # 121 # 122 # iteration reached at end puts enum.next #=> 120
例3: Kernel.#loop は StopIteration を捕捉します。
str = "xyz" enum = str.each_byte loop do puts enum.next end # => 120 # 121 # 122
next -> object
[permalink][rdoc] [added by generator]
現在の位置にある要素を返し、位置を一つ進めます。
[SEE_ALSO] Generator#next