繰り返しを行なうクラスのための Mix-in。このモジュールのメソッドは全て each を用いて定義されているので、インクルードするクラスには each が定義されていなければなりません。
定義 |
説明 |
all? -> bool all? {|item| ... } -> bool all?(pattern) -> bool
|
すべての要素が真である場合に true を返します。偽である要素があれば、ただちに false を返します。
|
any? -> bool any? {|item| ... } -> bool any?(pattern) -> bool
|
すべての要素が偽である場合に false を返します。真である要素があれば、ただちに true を返します。
|
chain(*enums) -> Enumerator::Chain
|
自身と enums 引数を続けて繰り返す Enumerator::Chain を返します。
|
chunk {|elt| ... } -> Enumerator
|
要素を前から順にブロックで評価し、その結果によって要素をチャンクに分けた(グループ化した)要素を持つ
Enumerator を返します。
|
chunk_while {|elt_before, elt_after| ... } -> Enumerator
|
要素を前から順にブロックで評価し、その結果によって要素をチャンクに分けた(グループ化した)要素を持つEnumerator を返します。
|
collect -> Enumerator map -> Enumerator collect {|item| ... } -> [object] map {|item| ... } -> [object]
|
各要素に対してブロックを評価した結果を全て含む配列を返します。
|
flat_map -> Enumerator collect_concat -> Enumerator flat_map {| obj | block } -> Array collect_concat {| obj | block } -> Array
|
各要素をブロックに渡し、その返り値を連結した配列を返します。
|
count -> Integer count(item) -> Integer count {|obj| ... } -> Integer
|
レシーバの要素数を返します。
|
cycle(n=nil) -> Enumerator cycle(n=nil) {|obj| ... } -> object | nil
|
Enumerable オブジェクトの各要素を n 回 or 無限回(n=nil)繰り返しブロックを呼びだします。
|
find(ifnone = nil) -> Enumerator detect(ifnone = nil) -> Enumerator find(ifnone = nil) {|item| ... } -> object detect(ifnone = nil) {|item| ... } -> object
|
要素に対してブロックを評価した値が真になった最初の要素を返します。
|
drop(n) -> Array
|
Enumerable オブジェクトの先頭の n 要素を捨てて、残りの要素を配列として返します。
|
drop_while -> Enumerator drop_while {|element| ... } -> Array
|
ブロックを評価して最初に偽となった要素の手前の要素まで捨て、残りの要素を配列として返します。
|
each_cons(n) -> Enumerator each_cons(n) {|list| ... } -> nil
|
要素を重複ありで n 要素ずつに区切り、ブロックに渡して繰り返します。
|
each_entry -> Enumerator each_entry {|obj| block} -> self
|
ブロックを各要素に一度ずつ適用します。
|
each_slice(n) -> Enumerator each_slice(n) {|list| ... } -> nil
|
n 要素ずつブロックに渡して繰り返します。
|
each_with_index(*args) -> Enumerator each_with_index(*args) {|item, index| ... } -> self
|
要素とそのインデックスをブロックに渡して繰り返します。
|
each_with_object(obj) -> Enumerator each_with_object(obj) {|(*args), memo_obj| ... } -> object
|
与えられた任意のオブジェクトと要素をブロックに渡し繰り返し、最初に与えられたオブジェクトを返します。
|
to_a(*args) -> [object] entries(*args) -> [object]
|
全ての要素を含む配列を返します。
|
find_all -> Enumerator select -> Enumerator filter -> Enumerator find_all {|item| ... } -> [object] select {|item| ... } -> [object] filter {|item| ... } -> [object]
|
各要素に対してブロックを評価した値が真であった要素を全て含む配列を返します。真になる要素がひとつもなかった場合は空の配列を返します。
|
filter_map {|item| ... } -> [object] filter_map -> Enumerator
|
各要素に対してブロックを評価した値のうち、真であった値の配列を返します。
|
find_index(val) -> Integer | nil find_index {|obj| ... } -> Integer | nil find_index -> Enumerator
|
条件に一致する最初の要素の位置を返します。
|
first -> object | nil first(n) -> Array
|
Enumerable オブジェクトの最初の要素、もしくは最初の n 要素を返します。
|
grep(pattern) -> [object] grep(pattern) {|item| ... } -> [object]
|
pattern === item が成立する要素を全て含んだ配列を返します。
|
grep_v(pattern) -> [object] grep_v(pattern) { |item| ... } -> [object]
|
Enumerable#grep のマッチの条件を逆にして、pattern === item が成立しない要素を全て含んだ配列を返します。
|
group_by -> Enumerator group_by {|obj| ... } -> Hash
|
ブロックを評価した結果をキー、対応する要素の配列を値とするハッシュを返します。
|
member?(val) -> bool include?(val) -> bool
|
val と == の関係にある要素を含むとき真を返します。
|
inject(init = self.first) {|result, item| ... } -> object inject(sym) -> object inject(init, sym) -> object reduce(init = self.first) {|result, item| ... } -> object reduce(sym) -> object reduce(init, sym) -> object
|
リストのたたみこみ演算を行います。
|
lazy -> Enumerator::Lazy
|
自身を lazy な Enumerator に変換したものを返します。
|
max -> object | nil max(n) -> Array
|
最大の要素、もしくは最大の n 要素が入った降順の配列を返します。全要素が互いに <=> メソッドで比較できることを仮定しています。
|
max {|a, b| ... } -> object | nil max(n) {|a, b| ... } -> Array
|
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の
n 要素が入った降順の配列を返します。引数を指定しない形式では要素が存在しなければ nil を返します。引数を指定する形式では、空の配列を返します。
|
max_by -> Enumerator max_by(n) -> Enumerator max_by {|item| ... } -> object | nil max_by(n) {|item| ... } -> Array
|
各要素を順番にブロックに渡して実行し、その評価結果を <=> で比較して、最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
|
min -> object | nil min(n) -> Array
|
最小の要素、もしくは最小の n 要素が昇順で入った配列を返します。全要素が互いに <=> メソッドで比較できることを仮定しています。
|
min {|a, b| ... } -> object | nil min(n) {|a, b| ... } -> Array
|
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の
n 要素が昇順で入った配列を返します。引数を指定しない形式では要素が存在しなければ nil を返します。引数を指定する形式では、空の配列を返します。
|
min_by -> Enumerator min_by(n) -> Enumerator min_by {|item| ... } -> object | nil min_by(n) {|item| ... } -> Array
|
各要素を順番にブロックに渡して評価し、その評価結果を <=> で比較して、最小であった値に対応する元の要素、もしくは最小の n 要素が昇順で入った配列を返します。
|
minmax -> [object, object] minmax {|a, b| ... } -> [object, object]
|
Enumerable オブジェクトの各要素のうち最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
|
minmax_by -> Enumerator minmax_by {|obj| ... } -> [object, object]
|
Enumerable オブジェクトの各要素をブロックに渡して評価し、その結果を <=> で比較して最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
|
none? -> bool none? {|obj| ... } -> bool none?(pattern) -> bool
|
ブロックを指定しない場合は、 Enumerable オブジェクトのすべての要素が偽であれば真を返します。そうでなければ偽を返します。
|
one? -> bool one? {|obj| ... } -> bool one?(pattern) -> bool
|
ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうちちょうど一つだけが真であれば、真を返します。そうでなければ偽を返します。
|
partition -> Enumerator partition {|item| ... } -> [[object], [object]]
|
各要素を、ブロックの条件を満たす要素と満たさない要素に分割します。各要素に対してブロックを評価して、その値が真であった要素の配列と、偽であった要素の配列の 2 つを配列に入れて返します。
|
reject -> Enumerator reject {|item| ... } -> [object]
|
各要素に対してブロックを評価し、その値が偽であった要素を集めた新しい配列を返します。条件を反転させた select です。
|
reverse_each -> Enumerator reverse_each {|element| ... } -> self
|
逆順に各要素に対してブロックを評価します。
|
slice_after(pattern) -> Enumerator slice_after {|elt| bool } -> Enumerator
|
パターンがマッチした要素、もしくはブロックが真を返した要素を末尾の要素としてチャンク化(グループ化)したものを繰り返す Enumerator を 返します。
|
slice_before(pattern) -> Enumerator slice_before {|elt| bool } -> Enumerator
|
パターンがマッチした要素、もしくはブロックが真を返した要素から次にマッチする手前までをチャンク化(グループ化)したものを繰り返す Enumerator を返します。
|
slice_when {|elt_before, elt_after| bool } -> Enumerator
|
要素を前から順にブロックで評価し、その結果によって要素をチャンクに分けた(グループ化した)要素を持つEnumerator を返します。
|
sort -> [object] sort {|a, b| ... } -> [object]
|
全ての要素を昇順にソートした配列を生成して返します。
|
sort_by -> Enumerator sort_by {|item| ... } -> [object]
|
ブロックの評価結果を <=> メソッドで比較することで、self を昇順にソートします。ソートされた配列を新たに生成して返します。
|
sum(init=0) -> object sum(init=0) {|e| expr } -> object
|
要素の合計を返します。
|
take(n) -> Array
|
Enumerable オブジェクトの先頭から n 要素を配列として返します。
|
take_while -> Enumerator take_while {|element| ... } -> Array
|
Enumerable オブジェクトの要素を順に偽になるまでブロックで評価します。最初に偽になった要素の手前の要素までを配列として返します。
|
tally -> Hash
|
self に含まれる要素を数え上げた結果を Hash で返します。
Hash のキーは self に含まれる要素で、Hash の値は対応する要素が出現する回数です。
|
to_h(*args) -> Hash to_h(*args) { ... } -> Hash
|
self を [key, value] のペアの配列として解析した結果を Hash にして返します。
|
uniq -> Array uniq { |item| ... } -> Array
|
self から重複した値を取り除いた配列を返します。
|
zip(*lists) -> [[object]] zip(*lists) {|v1, v2, ...| ...} -> nil
|
self と引数に渡した配列の各要素からなる配列の配列を生成して返します。生成される配列の要素数は self の要素数と同じです。
|