Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Enumerable::Enumeratorクラス

class Enumerable::Enumerator

クラスの継承リスト: Enumerable::Enumerator < Enumerable < Object < Kernel

要約

each 以外のメソッドにも Enumerable の機能を提供するためのラッパークラスです。 また、外部イテレータとしても使えます。 Ruby 1.8.8 以降では Enumerable::Enumerator は Enumerator になっています。

Enumerable モジュールは、 Module#include 先のクラスが持つ each メソッドを元に様々なメソッドを提供します。 例えば Array#map は Array#each の繰り返しを元にして定義されます。 Enumerator を介することにより String#each_byte のような 異なる名前のイテレータについても each と同様に Enumerable の機能を利用できます。

Enumerator を生成するには Enumerable::Enumerator.new あるいは Object#to_enum, Object#enum_for を利用します。

特異メソッド

定義 説明
new(obj, method = :each, *args) -> Enumerable::Enumerator

オブジェクト obj について、 each の代わりに method という 名前のメソッドを使って繰り返すオブジェクトを生成して返します。 args を指定すると、 method の呼び出し時に渡されます。

インスタンスメソッド

定義 説明
each {...} -> object

生成時のパラメータに従ってブロックを繰り返します。 生成時に指定したイテレータの戻り値をそのまま返します。

next -> object

「次」のオブジェクトを返します。

rewind -> self

列挙状態を巻き戻します。

with_index {|(*args), idx| ... } -> object
with_index -> Enumerator

生成時のパラメータに従って、要素にインデックスを添えて繰り返します。 インデックスは 0 から始まります。

継承したメソッド

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject reverse_each sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint

追加されるメソッド

定義 説明 ライブラリ
next -> object

現在の位置にある要素を返し、位置を一つ進めます。

generator
rewind -> self

内部で保持しているジェネレータを最初まで巻き戻します。

generator