るりまサーチ (Ruby 1.8.7)

最速Rubyリファレンスマニュアル検索!
84件ヒット [1-84件を表示] (0.011秒)
トップページ > バージョン:1.8.7[x] > モジュール:Enumerable[x]

ライブラリ

キーワード

検索結果

Enumerable#all? -> bool (2)

すべての要素が真である場合に true を返します。 偽である要素があれば、ただちに false を返します。

すべての要素が真である場合に true を返します。
偽である要素があれば、ただちに false を返します。

ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が真である場合に true を返します。ブロックが偽を返した時点で、
ただちに false を返します。

例:
# すべて正の数か?
p [5, 6, 7].all? {|v| v > 0 } # => true
p [5, -1, 7].all? {|v| v > 0 } # => false

Enumerable#all? {|item| ... } -> bool (2)

すべての要素が真である場合に true を返します。 偽である要素があれば、ただちに false を返します。

すべての要素が真である場合に true を返します。
偽である要素があれば、ただちに false を返します。

ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が真である場合に true を返します。ブロックが偽を返した時点で、
ただちに false を返します。

例:
# すべて正の数か?
p [5, 6, 7].all? {|v| v > 0 } # => true
p [5, -1, 7].all? {|v| v > 0 } # => false

Enumerable#any? -> bool (2)

すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。

すべての要素が偽である場合に false を返します。
真である要素があれば、ただちに true を返します。

ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が偽である場合に false を返します。ブロックが真を返した時点
で、ただちに true を返します。

例:
p [1, 2, 3].any? {|v| v > 3 } # => false
p [1, 2, 3].any? {|v| v > 1 } # => true

Enumerable#any? {|item| ... } -> bool (2)

すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。

すべての要素が偽である場合に false を返します。
真である要素があれば、ただちに true を返します。

ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が偽である場合に false を返します。ブロックが真を返した時点
で、ただちに true を返します。

例:
p [1, 2, 3].any? {|v| v > 3 } # => false
p [1, 2, 3].any? {|v| v > 1 } # => true

Enumerable#collect {|item| ... } -> [object] (2)

各要素に対してブロックを評価した結果を全て含む配列を返します。

...してブロックを評価した結果を全て含む配列を返します。

ブロックを省略した場合、
obj.collect {|item| item } を実行します。
これは Enumerable#to_a と同じです。

例:
# すべて 3 倍にする
p [1, 2, 3].map {|n| n * 3 } # => [3, 6, 9]...

絞り込み条件を変える

Enumerable#count -> Integer (2)

レシーバの要素数を返します。

レシーバの要素数を返します。

引数を指定しない場合は、レシーバの要素数を返します。
このとき、レシーバが size メソッドを持っていればそちらを使用します。
レシーバが size メソッドを持っていない場合は、要素数を一つずつカウントします。

引数を一つ指定した場合は、レシーバの要素のうち引数に一致するものの
個数をカウントして返します。

ブロックを指定した場合は、ブロックを評価して真になった要素の個数を
カウントして返します。

@param item カウント対象となる値。

例:

ary = [1, 2, 4, 2]
ary.count #...

Enumerable#count {|obj| ... } -> Integer (2)

レシーバの要素数を返します。

レシーバの要素数を返します。

引数を指定しない場合は、レシーバの要素数を返します。
このとき、レシーバが size メソッドを持っていればそちらを使用します。
レシーバが size メソッドを持っていない場合は、要素数を一つずつカウントします。

引数を一つ指定した場合は、レシーバの要素のうち引数に一致するものの
個数をカウントして返します。

ブロックを指定した場合は、ブロックを評価して真になった要素の個数を
カウントして返します。

@param item カウント対象となる値。

例:

ary = [1, 2, 4, 2]
ary.count #...

Enumerable#count(item) -> Integer (2)

レシーバの要素数を返します。

レシーバの要素数を返します。

引数を指定しない場合は、レシーバの要素数を返します。
このとき、レシーバが size メソッドを持っていればそちらを使用します。
レシーバが size メソッドを持っていない場合は、要素数を一つずつカウントします。

引数を一つ指定した場合は、レシーバの要素のうち引数に一致するものの
個数をカウントして返します。

ブロックを指定した場合は、ブロックを評価して真になった要素の個数を
カウントして返します。

@param item カウント対象となる値。

例:

ary = [1, 2, 4, 2]
ary.count #...

Enumerable#cycle(n=nil) -> Enumerable::Enumerator (2)

Enumerable オブジェクトの各要素を n 回 or 無限回(n=nil)繰り返し ブロックを呼びだします。

...Enumerable オブジェクトの各要素を n 回 or 無限回(n=nil)繰り返し
ブロックを呼びだします。

n に 0 もしくは負の値を渡した場合は何もしません。
繰り返しが最後まで終了した場合(つまりbreakなどで中断しなかった場合)
は nil...
...を返します。
このメソッドは内部の配列に各要素を保存しておくため、
一度 Enumerable の終端に到達した後に自分自身を変更しても
このメソッドの動作に影響を与えません。

a = ["a", "b", "c"]
a.cycle {|x| puts x } # print, a, b, c,...
...a, b, c,.. forever.
a.cycle(2) {|x| puts x } # print, a, b, c, a, b, c.


@return ブロックを指定しなかった場合は、Enumerable::Enumerator を返します。
レシーバが空の場合は nil を返します。...

Enumerable#cycle(n=nil) {|obj| ... } -> object | nil (2)

Enumerable オブジェクトの各要素を n 回 or 無限回(n=nil)繰り返し ブロックを呼びだします。

...Enumerable オブジェクトの各要素を n 回 or 無限回(n=nil)繰り返し
ブロックを呼びだします。

n に 0 もしくは負の値を渡した場合は何もしません。
繰り返しが最後まで終了した場合(つまりbreakなどで中断しなかった場合)
は nil...
...を返します。
このメソッドは内部の配列に各要素を保存しておくため、
一度 Enumerable の終端に到達した後に自分自身を変更しても
このメソッドの動作に影響を与えません。

a = ["a", "b", "c"]
a.cycle {|x| puts x } # print, a, b, c,...
...a, b, c,.. forever.
a.cycle(2) {|x| puts x } # print, a, b, c, a, b, c.


@return ブロックを指定しなかった場合は、Enumerable::Enumerator を返します。
レシーバが空の場合は nil を返します。...

絞り込み条件を変える

Enumerable#detect(ifnone = nil) -> Enumerable::Enumerator (2)

要素に対してブロックを評価した値が真になった最初の要素を返します。

要素に対してブロックを評価した値が真になった最初の要素を返します。

真になる要素が見つからず、ifnone も指定されていないときは nil を返します。
真になる要素が見つからず、ifnone が指定されているときは ifnone を call した結果を返します。


@arg ifnone call メソッドを持つオブジェクト (例えば Proc) を指定します。

例:
# 最初の 3 の倍数を探す
p [1, 2, 3, 4, 5].find {|i| i % 3 == 0 } # => 3
p [2, 2, 2, 2, 2].find {|i| i...

Enumerable#detect(ifnone = nil) {|item| ... } -> object (2)

要素に対してブロックを評価した値が真になった最初の要素を返します。

要素に対してブロックを評価した値が真になった最初の要素を返します。

真になる要素が見つからず、ifnone も指定されていないときは nil を返します。
真になる要素が見つからず、ifnone が指定されているときは ifnone を call した結果を返します。


@arg ifnone call メソッドを持つオブジェクト (例えば Proc) を指定します。

例:
# 最初の 3 の倍数を探す
p [1, 2, 3, 4, 5].find {|i| i % 3 == 0 } # => 3
p [2, 2, 2, 2, 2].find {|i| i...

Enumerable#drop(n) -> Array (2)

Enumerable オブジェクトの先頭の n 要素を捨てて、 残りの要素を配列として返します。

...
Enumerable
オブジェクトの先頭の n 要素を捨てて、
残りの要素を配列として返します。

@param n 捨てる要素数。

a = [1, 2, 3, 4, 5, 0]
a.drop(3) # => [4, 5, 0]...

Enumerable#drop_while -> Enumerable::Enumerator (2)

ブロックを評価して最初に偽となった要素の手前の要素まで捨て、 残りの要素を配列として返します。

...クを評価して最初に偽となった要素の手前の要素まで捨て、
残りの要素を配列として返します。

ブロックを指定しなかった場合は、Enumerable::Enumerator を返します。

a = [1, 2, 3, 4, 5, 0]
a.drop_while {|i| i < 3 } # => [3, 4, 5, 0]...

Enumerable#drop_while {|element| ... } -> Array (2)

ブロックを評価して最初に偽となった要素の手前の要素まで捨て、 残りの要素を配列として返します。

...クを評価して最初に偽となった要素の手前の要素まで捨て、
残りの要素を配列として返します。

ブロックを指定しなかった場合は、Enumerable::Enumerator を返します。

a = [1, 2, 3, 4, 5, 0]
a.drop_while {|i| i < 3 } # => [3, 4, 5, 0]...

絞り込み条件を変える

Enumerable#each_cons(n) -> Enumerable::Enumerator (2)

要素を重複ありで n 要素ずつに区切り、 ブロックに渡して繰り返します。

...素数より大きな数を与えると、ブロックは一度も実行されません。

例:

(1..10).each_cons(3){|v| p v }
# => [1, 2, 3]
# [2, 3, 4]
# [3, 4, 5]
# [4, 5, 6]
# [5, 6, 7]
# [6, 7, 8]
# [7, 8, 9]
# [8, 9, 10]

@see Enumerable#each_slice...

Enumerable#each_cons(n) {|list| ... } -> nil (2)

要素を重複ありで n 要素ずつに区切り、 ブロックに渡して繰り返します。

...素数より大きな数を与えると、ブロックは一度も実行されません。

例:

(1..10).each_cons(3){|v| p v }
# => [1, 2, 3]
# [2, 3, 4]
# [3, 4, 5]
# [4, 5, 6]
# [5, 6, 7]
# [6, 7, 8]
# [7, 8, 9]
# [8, 9, 10]

@see Enumerable#each_slice...

Enumerable#each_slice(n) -> Enumerable::Enumerator (2)

n 要素ずつブロックに渡して繰り返します。

...1.9.1 以降ではなくなっています。
代わりに each_slice を使ってください。


@arg n 区切る要素数を示す整数です。

例:

(1..10).each_slice(3) {|a| p a}
# => [1, 2, 3]
# [4, 5, 6]
# [7, 8, 9]
# [10]

@see Enumerable#each_cons...

Enumerable#each_slice(n) {|list| ... } -> nil (2)

n 要素ずつブロックに渡して繰り返します。

...1.9.1 以降ではなくなっています。
代わりに each_slice を使ってください。


@arg n 区切る要素数を示す整数です。

例:

(1..10).each_slice(3) {|a| p a}
# => [1, 2, 3]
# [4, 5, 6]
# [7, 8, 9]
# [10]

@see Enumerable#each_cons...

Enumerable#each_with_index -> Enumerable::Enumerator (2)

要素とそのインデックスをブロックに渡して繰り返します。

要素とそのインデックスをブロックに渡して繰り返します。

self を返します。


例:
[5, 10, 15].each_with_index do |n, idx|
p [n, idx]
end
# => [5, 0]
# [10, 1]
# [15, 2]

絞り込み条件を変える

Enumerable#each_with_index {|item, index| ... } -> self (2)

要素とそのインデックスをブロックに渡して繰り返します。

要素とそのインデックスをブロックに渡して繰り返します。

self を返します。


例:
[5, 10, 15].each_with_index do |n, idx|
p [n, idx]
end
# => [5, 0]
# [10, 1]
# [15, 2]

Enumerable#entries -> [object] (2)

全ての要素を含む配列を返します。

全ての要素を含む配列を返します。

Enumerable#enum_cons(n) -> Enumerable::Enumerator (2)

要素を重複ありで n 要素ずつに区切り、 ブロックに渡して繰り返します。

...素数より大きな数を与えると、ブロックは一度も実行されません。

例:

(1..10).each_cons(3){|v| p v }
# => [1, 2, 3]
# [2, 3, 4]
# [3, 4, 5]
# [4, 5, 6]
# [5, 6, 7]
# [6, 7, 8]
# [7, 8, 9]
# [8, 9, 10]

@see Enumerable#each_slice...

Enumerable#enum_cons(n) {|list| ... } -> nil (2)

要素を重複ありで n 要素ずつに区切り、 ブロックに渡して繰り返します。

...素数より大きな数を与えると、ブロックは一度も実行されません。

例:

(1..10).each_cons(3){|v| p v }
# => [1, 2, 3]
# [2, 3, 4]
# [3, 4, 5]
# [4, 5, 6]
# [5, 6, 7]
# [6, 7, 8]
# [7, 8, 9]
# [8, 9, 10]

@see Enumerable#each_slice...

Enumerable#enum_slice(n) -> Enumerable::Enumerator (2)

n 要素ずつブロックに渡して繰り返します。

...1.9.1 以降ではなくなっています。
代わりに each_slice を使ってください。


@arg n 区切る要素数を示す整数です。

例:

(1..10).each_slice(3) {|a| p a}
# => [1, 2, 3]
# [4, 5, 6]
# [7, 8, 9]
# [10]

@see Enumerable#each_cons...

絞り込み条件を変える

Enumerable#enum_slice(n) {|list| ... } -> nil (2)

n 要素ずつブロックに渡して繰り返します。

...1.9.1 以降ではなくなっています。
代わりに each_slice を使ってください。


@arg n 区切る要素数を示す整数です。

例:

(1..10).each_slice(3) {|a| p a}
# => [1, 2, 3]
# [4, 5, 6]
# [7, 8, 9]
# [10]

@see Enumerable#each_cons...

Enumerable#enum_with_index -> Enumerable::Enumerator (2)

要素とそのインデックスをブロックに渡して繰り返します。

要素とそのインデックスをブロックに渡して繰り返します。

self を返します。


例:
[5, 10, 15].each_with_index do |n, idx|
p [n, idx]
end
# => [5, 0]
# [10, 1]
# [15, 2]

Enumerable#find(ifnone = nil) -> Enumerable::Enumerator (2)

要素に対してブロックを評価した値が真になった最初の要素を返します。

要素に対してブロックを評価した値が真になった最初の要素を返します。

真になる要素が見つからず、ifnone も指定されていないときは nil を返します。
真になる要素が見つからず、ifnone が指定されているときは ifnone を call した結果を返します。


@arg ifnone call メソッドを持つオブジェクト (例えば Proc) を指定します。

例:
# 最初の 3 の倍数を探す
p [1, 2, 3, 4, 5].find {|i| i % 3 == 0 } # => 3
p [2, 2, 2, 2, 2].find {|i| i...

Enumerable#find(ifnone = nil) {|item| ... } -> object (2)

要素に対してブロックを評価した値が真になった最初の要素を返します。

要素に対してブロックを評価した値が真になった最初の要素を返します。

真になる要素が見つからず、ifnone も指定されていないときは nil を返します。
真になる要素が見つからず、ifnone が指定されているときは ifnone を call した結果を返します。


@arg ifnone call メソッドを持つオブジェクト (例えば Proc) を指定します。

例:
# 最初の 3 の倍数を探す
p [1, 2, 3, 4, 5].find {|i| i % 3 == 0 } # => 3
p [2, 2, 2, 2, 2].find {|i| i...

Enumerable#find_all -> Enumerable::Enumerator (2)

各要素に対してブロックを評価した値が真であった要素を全て含む配列を 返します。真になる要素がひとつもなかった場合は空の配列を返します。

各要素に対してブロックを評価した値が真であった要素を全て含む配列を
返します。真になる要素がひとつもなかった場合は空の配列を返します。

絞り込み条件を変える

Enumerable#find_all {|item| ... } -> [object] (2)

各要素に対してブロックを評価した値が真であった要素を全て含む配列を 返します。真になる要素がひとつもなかった場合は空の配列を返します。

各要素に対してブロックを評価した値が真であった要素を全て含む配列を
返します。真になる要素がひとつもなかった場合は空の配列を返します。

Enumerable#find_index -> Enumerable::Enumerator (2)

要素を先頭から順にブロックに渡して評価し、最初に真になった要素のインデックスを返します。 一つも真にならなければ nil を返します。

...を返します。
一つも真にならなければ nil を返します。

(1..10).find_index {|i| i % 5 == 0 and i % 7 == 0 } #=> nil
(1..100).find_index {|i| i % 5 == 0 and i % 7 == 0 } #=> 34

ブロックを指定しなかった場合は、Enumerable::Enumerator を返します。...

Enumerable#find_index {|obj| ... } -> Integer | nil (2)

要素を先頭から順にブロックに渡して評価し、最初に真になった要素のインデックスを返します。 一つも真にならなければ nil を返します。

...を返します。
一つも真にならなければ nil を返します。

(1..10).find_index {|i| i % 5 == 0 and i % 7 == 0 } #=> nil
(1..100).find_index {|i| i % 5 == 0 and i % 7 == 0 } #=> 34

ブロックを指定しなかった場合は、Enumerable::Enumerator を返します。...

Enumerable#first -> object | nil (2)

Enumerable オブジェクトの最初の要素、もしくは最初の n 要素を返します。

...
Enumerable
オブジェクトの最初の要素、もしくは最初の n 要素を返します。

Enumerable
オブジェクトが空の場合、引数を指定しない形式では nil を返します。
引数を指定する形式では、空の配列を返します。

@param n 取得する要...

Enumerable#first(n) -> Array (2)

Enumerable オブジェクトの最初の要素、もしくは最初の n 要素を返します。

...
Enumerable
オブジェクトの最初の要素、もしくは最初の n 要素を返します。

Enumerable
オブジェクトが空の場合、引数を指定しない形式では nil を返します。
引数を指定する形式では、空の配列を返します。

@param n 取得する要...

絞り込み条件を変える

Enumerable#grep(pattern) -> [object] (2)

pattern === item が成立する要素を全て含んだ配列を返します。

pattern === item が成立する要素を全て含んだ配列を返します。

ブロックとともに呼び出された時には条件の成立した要素に対して
それぞれブロックを評価し、その結果の配列を返します。
マッチする要素がひとつもなかった場合は空の配列を返します。

@param pattern 「===」メソッドを持つオブジェクトを指定します。

例:
['aa', 'bb', 'cc', 'dd', 'ee'].grep(/[bc]/) # => ["bb", "cc"]

Array.instance_methods.grep(/gr/) # => ["group_by", "gr...

Enumerable#grep(pattern) {|item| ... } -> [object] (2)

pattern === item が成立する要素を全て含んだ配列を返します。

pattern === item が成立する要素を全て含んだ配列を返します。

ブロックとともに呼び出された時には条件の成立した要素に対して
それぞれブロックを評価し、その結果の配列を返します。
マッチする要素がひとつもなかった場合は空の配列を返します。

@param pattern 「===」メソッドを持つオブジェクトを指定します。

例:
['aa', 'bb', 'cc', 'dd', 'ee'].grep(/[bc]/) # => ["bb", "cc"]

Array.instance_methods.grep(/gr/) # => ["group_by", "gr...

Enumerable#group_by -> Enumerable::Enumerator (2)

ブロックを評価した結果をキー、対応する要素の配列を値とするハッシュを返します。

ブロックを評価した結果をキー、対応する要素の配列を値とするハッシュを返します。


(1..6).group_by {|i| i%3} #=> {0=>[3, 6], 1=>[1, 4], 2=>[2, 5]}

Enumerable#group_by {|obj| ... } -> Hash (2)

ブロックを評価した結果をキー、対応する要素の配列を値とするハッシュを返します。

ブロックを評価した結果をキー、対応する要素の配列を値とするハッシュを返します。


(1..6).group_by {|i| i%3} #=> {0=>[3, 6], 1=>[1, 4], 2=>[2, 5]}

Enumerable#include?(val) -> bool (2)

val と == の関係にある要素を含むとき真を返します。

val と == の関係にある要素を含むとき真を返します。

@arg val 任意のオブジェクト

絞り込み条件を変える

Enumerable#inject(init = self.first) {|result, item| ... } -> object (2)

リストのたたみこみ演算を行います。

リストのたたみこみ演算を行います。

最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self の次の要素を引数に順次ブロックを実行します。
そうして最後の要素まで繰り返し、最後のブロックの実行結果を返します。

要素が存在しない場合は init を返します。

初期値 init を省略した場合は、
最初に先頭の要素と 2 番目の要素をブロックに渡します。
また要素が 1 つしかなければブロックを実行せずに最初の要素を返します。
要素がなければブロックを実行せずに nil を返します。

@param in...

Enumerable#inject(init, sym) -> object (2)

リストのたたみこみ演算を行います。

リストのたたみこみ演算を行います。

最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self の次の要素を引数に順次ブロックを実行します。
そうして最後の要素まで繰り返し、最後のブロックの実行結果を返します。

要素が存在しない場合は init を返します。

初期値 init を省略した場合は、
最初に先頭の要素と 2 番目の要素をブロックに渡します。
また要素が 1 つしかなければブロックを実行せずに最初の要素を返します。
要素がなければブロックを実行せずに nil を返します。

@param in...

Enumerable#inject(sym) -> object (2)

リストのたたみこみ演算を行います。

リストのたたみこみ演算を行います。

最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self の次の要素を引数に順次ブロックを実行します。
そうして最後の要素まで繰り返し、最後のブロックの実行結果を返します。

要素が存在しない場合は init を返します。

初期値 init を省略した場合は、
最初に先頭の要素と 2 番目の要素をブロックに渡します。
また要素が 1 つしかなければブロックを実行せずに最初の要素を返します。
要素がなければブロックを実行せずに nil を返します。

@param in...

Enumerable#map {|item| ... } -> [object] (2)

各要素に対してブロックを評価した結果を全て含む配列を返します。

...してブロックを評価した結果を全て含む配列を返します。

ブロックを省略した場合、
obj.collect {|item| item } を実行します。
これは Enumerable#to_a と同じです。

例:
# すべて 3 倍にする
p [1, 2, 3].map {|n| n * 3 } # => [3, 6, 9]...

Enumerable#max -> object (2)

最大の要素を返します。 全要素が互いに <=> メソッドで比較できることを仮定しています。

最大の要素を返します。
全要素が互いに <=> メソッドで比較できることを仮定しています。

要素が存在しなければ nil を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。

絞り込み条件を変える

Enumerable#max {|a, b| ... } -> object (2)

ブロックの評価結果で各要素の大小判定を行い、最大の要素を返します。 要素が存在しなければ nil を返します。

ブロックの評価結果で各要素の大小判定を行い、最大の要素を返します。
要素が存在しなければ nil を返します。

ブロックの値は、a > b のとき正、
a == b のとき 0、a < b のとき負の整数を、期待しています。

該当する要素が複数存在する場合、どの要素を返すかは不定です。

@raise TypeError ブロックが整数以外を返したときに発生します。

Enumerable#max_by -> Enumerable::Enumerator (2)

各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素を返します。

...

要素が存在しないときは nil を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。

Enumerable
#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。


@see Enumerable#sort_by...

Enumerable#max_by {|item| ... } -> object (2)

各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素を返します。

...

要素が存在しないときは nil を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。

Enumerable
#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。


@see Enumerable#sort_by...

Enumerable#member?(val) -> bool (2)

val と == の関係にある要素を含むとき真を返します。

val と == の関係にある要素を含むとき真を返します。

@arg val 任意のオブジェクト

Enumerable#min -> object (2)

最小の要素を返します。 全要素が互いに <=> メソッドで比較できることを仮定しています。

最小の要素を返します。
全要素が互いに <=> メソッドで比較できることを仮定しています。

要素が存在しなければ nil を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。

絞り込み条件を変える

Enumerable#min {|a, b| ... } -> object (2)

ブロックの評価結果で各要素の大小判定を行い、最小の要素を返します。 要素が存在しなければ nil を返します。

ブロックの評価結果で各要素の大小判定を行い、最小の要素を返します。
要素が存在しなければ nil を返します。

ブロックの値は、a > b のとき正、a == b のとき 0、
a < b のとき負の整数を、期待しています。

該当する要素が複数存在する場合、どの要素を返すかは不定です。

@raise TypeError ブロックが整数以外を返したときに発生します。

Enumerable#min_by -> Enumerable::Enumerator (2)

各要素を順番にブロックに渡して評価し、 その評価結果を <=> で比較して、 最小であった値に対応する元の要素を返します。

...要素が存在しないときは nil を返します。

該当する要素が複数存在する場合、どの要素を返すかは不定です。


Enumerable
#min と Enumerable#min_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。

@see Enumerable#sort_by...

Enumerable#min_by {|item| ... } -> object (2)

各要素を順番にブロックに渡して評価し、 その評価結果を <=> で比較して、 最小であった値に対応する元の要素を返します。

...要素が存在しないときは nil を返します。

該当する要素が複数存在する場合、どの要素を返すかは不定です。


Enumerable
#min と Enumerable#min_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。

@see Enumerable#sort_by...

Enumerable#minmax -> [object, object] (2)

Enumerable オブジェクトの各要素のうち最小の要素と最大の要素を 要素とするサイズ 2 の配列を返します。

...
Enumerable
オブジェクトの各要素のうち最小の要素と最大の要素を
要素とするサイズ 2 の配列を返します。

該当する要素が複数存在する場合、どの要素を返すかは不定です。

一つ目の形式は、Enumerable オブジェクトのすべ...
...では、要素同士の比較を
ブロックを用いて行います。

a = %w(albatross dog horse)
a.minmax #=> ["albatross", "horse"]
a.minmax{|a,b| a.length <=> b.length } #=> ["dog", "albatross"]
[].minmax # => [nil, nil]

@see Enumerable#sort...

Enumerable#minmax {|a, b| ... } -> [object, object] (2)

Enumerable オブジェクトの各要素のうち最小の要素と最大の要素を 要素とするサイズ 2 の配列を返します。

...
Enumerable
オブジェクトの各要素のうち最小の要素と最大の要素を
要素とするサイズ 2 の配列を返します。

該当する要素が複数存在する場合、どの要素を返すかは不定です。

一つ目の形式は、Enumerable オブジェクトのすべ...
...では、要素同士の比較を
ブロックを用いて行います。

a = %w(albatross dog horse)
a.minmax #=> ["albatross", "horse"]
a.minmax{|a,b| a.length <=> b.length } #=> ["dog", "albatross"]
[].minmax # => [nil, nil]

@see Enumerable#sort...

絞り込み条件を変える

Enumerable#minmax_by -> Enumerable::Enumerator (2)

Enumerable オブジェクトの各要素をブロックに渡して評価し、その結果を <=> で比較して 最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。

...
Enumerable
オブジェクトの各要素をブロックに渡して評価し、その結果を <=> で比較して
最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。

該当する要素が複数存在する場合、どの要素を返すかは不定です。...
...inmax と Enumerable#minmax_by の
違いは sort と sort_by の違いと同じです。
詳細は Enumerable#sort_by を参照してください。

a = %w(albatross dog horse)
a.minmax_by {|x| x.length } #=> ["dog", "albatross"]

[].minmax_by{} # => [nil, nil]


@see Enumerable#sort_by...

Enumerable#minmax_by {|obj| ... } -> [object, object] (2)

Enumerable オブジェクトの各要素をブロックに渡して評価し、その結果を <=> で比較して 最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。

...
Enumerable
オブジェクトの各要素をブロックに渡して評価し、その結果を <=> で比較して
最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。

該当する要素が複数存在する場合、どの要素を返すかは不定です。...
...inmax と Enumerable#minmax_by の
違いは sort と sort_by の違いと同じです。
詳細は Enumerable#sort_by を参照してください。

a = %w(albatross dog horse)
a.minmax_by {|x| x.length } #=> ["dog", "albatross"]

[].minmax_by{} # => [nil, nil]


@see Enumerable#sort_by...

Enumerable#none? -> bool (2)

ブロックを指定しない場合は、 Enumerable オブジェクトのすべての 要素が偽であれば真を返します。そうでなければ偽を返します。

...ブロックを指定しない場合は、 Enumerable オブジェクトのすべての
要素が偽であれば真を返します。そうでなければ偽を返します。

ブロックを指定した場合は、Enumerable オブジェクトのすべての要素を
ブロックで評価した...

Enumerable#none? {|obj| ... } -> bool (2)

ブロックを指定しない場合は、 Enumerable オブジェクトのすべての 要素が偽であれば真を返します。そうでなければ偽を返します。

...ブロックを指定しない場合は、 Enumerable オブジェクトのすべての
要素が偽であれば真を返します。そうでなければ偽を返します。

ブロックを指定した場合は、Enumerable オブジェクトのすべての要素を
ブロックで評価した...

Enumerable#one? -> bool (2)

ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうち ちょうど一つだけが真であれば、真を返します。 そうでなければ偽を返します。

...ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうち
ちょうど一つだけが真であれば、真を返します。
そうでなければ偽を返します。

ブロックを指定した場合は、Enumerable オブジェクトの要素を
ブロックで...

絞り込み条件を変える

Enumerable#one? {|obj| ... } -> bool (2)

ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうち ちょうど一つだけが真であれば、真を返します。 そうでなければ偽を返します。

...ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうち
ちょうど一つだけが真であれば、真を返します。
そうでなければ偽を返します。

ブロックを指定した場合は、Enumerable オブジェクトの要素を
ブロックで...

Enumerable#partition -> Enumerable::Enumerator (2)

各要素を、ブロックの条件を満たす要素と満たさない要素に分割します。 各要素に対してブロックを評価して、その値が真であった要素の配列と、 偽であった要素の配列の 2 つを配列に入れて返します。

各要素を、ブロックの条件を満たす要素と満たさない要素に分割します。
各要素に対してブロックを評価して、その値が真であった要素の配列と、
偽であった要素の配列の 2 つを配列に入れて返します。


例:

[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0].partition {|i| i % 3 == 0 }
#=> [[9, 6, 3, 0], [10, 8, 7, 5, 4, 2, 1]]

Enumerable#partition {|item| ... } -> [[object], [object]] (2)

各要素を、ブロックの条件を満たす要素と満たさない要素に分割します。 各要素に対してブロックを評価して、その値が真であった要素の配列と、 偽であった要素の配列の 2 つを配列に入れて返します。

各要素を、ブロックの条件を満たす要素と満たさない要素に分割します。
各要素に対してブロックを評価して、その値が真であった要素の配列と、
偽であった要素の配列の 2 つを配列に入れて返します。


例:

[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0].partition {|i| i % 3 == 0 }
#=> [[9, 6, 3, 0], [10, 8, 7, 5, 4, 2, 1]]

Enumerable#reduce(init = self.first) {|result, item| ... } -> object (2)

リストのたたみこみ演算を行います。

リストのたたみこみ演算を行います。

最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self の次の要素を引数に順次ブロックを実行します。
そうして最後の要素まで繰り返し、最後のブロックの実行結果を返します。

要素が存在しない場合は init を返します。

初期値 init を省略した場合は、
最初に先頭の要素と 2 番目の要素をブロックに渡します。
また要素が 1 つしかなければブロックを実行せずに最初の要素を返します。
要素がなければブロックを実行せずに nil を返します。

@param in...

Enumerable#reduce(init, sym) -> object (2)

リストのたたみこみ演算を行います。

リストのたたみこみ演算を行います。

最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self の次の要素を引数に順次ブロックを実行します。
そうして最後の要素まで繰り返し、最後のブロックの実行結果を返します。

要素が存在しない場合は init を返します。

初期値 init を省略した場合は、
最初に先頭の要素と 2 番目の要素をブロックに渡します。
また要素が 1 つしかなければブロックを実行せずに最初の要素を返します。
要素がなければブロックを実行せずに nil を返します。

@param in...

絞り込み条件を変える

Enumerable#reduce(sym) -> object (2)

リストのたたみこみ演算を行います。

リストのたたみこみ演算を行います。

最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self の次の要素を引数に順次ブロックを実行します。
そうして最後の要素まで繰り返し、最後のブロックの実行結果を返します。

要素が存在しない場合は init を返します。

初期値 init を省略した場合は、
最初に先頭の要素と 2 番目の要素をブロックに渡します。
また要素が 1 つしかなければブロックを実行せずに最初の要素を返します。
要素がなければブロックを実行せずに nil を返します。

@param in...

Enumerable#reject -> Enumerable::Enumerator (2)

各要素に対してブロックを評価し、 その値が偽であった要素を集めた新しい配列を返します。 条件を反転させた select です。

...対してブロックを評価し、
その値が偽であった要素を集めた新しい配列を返します。
条件を反転させた select です。


例:

# 偶数を除外する (奇数を集める)
[1, 2, 3, 4, 5, 6].reject {|i| i % 2 == 0 } # => [1, 3, 5]

@see Enumerable#select...

Enumerable#reject {|item| ... } -> [object] (2)

各要素に対してブロックを評価し、 その値が偽であった要素を集めた新しい配列を返します。 条件を反転させた select です。

...対してブロックを評価し、
その値が偽であった要素を集めた新しい配列を返します。
条件を反転させた select です。


例:

# 偶数を除外する (奇数を集める)
[1, 2, 3, 4, 5, 6].reject {|i| i % 2 == 0 } # => [1, 3, 5]

@see Enumerable#select...

Enumerable#reverse_each -> Enumerable::Enumerator (2)

逆順に各要素に対してブロックを評価します。

逆順に各要素に対してブロックを評価します。

内部で各要素を保持した配列を作ります。

Enumerable#reverse_each {|element| ... } -> self (2)

逆順に各要素に対してブロックを評価します。

逆順に各要素に対してブロックを評価します。

内部で各要素を保持した配列を作ります。

絞り込み条件を変える

Enumerable#select -> Enumerable::Enumerator (2)

各要素に対してブロックを評価した値が真であった要素を全て含む配列を 返します。真になる要素がひとつもなかった場合は空の配列を返します。

各要素に対してブロックを評価した値が真であった要素を全て含む配列を
返します。真になる要素がひとつもなかった場合は空の配列を返します。

Enumerable#select {|item| ... } -> [object] (2)

各要素に対してブロックを評価した値が真であった要素を全て含む配列を 返します。真になる要素がひとつもなかった場合は空の配列を返します。

各要素に対してブロックを評価した値が真であった要素を全て含む配列を
返します。真になる要素がひとつもなかった場合は空の配列を返します。

Enumerable#sort -> [object] (2)

全ての要素を昇順にソートした配列を生成して返します。

...たときは例外 TypeError が発生します。

Enumerable
#sort は安定ではありません (unstable sort)。
安定なソートが必要な場合は Enumerable#sort_by を使って工夫する必要があります。
詳しくは Enumerable#sort_by の項目を参照してください。...
...※ 比較結果が同じ要素は元の順序通りに並ぶソートを
「安定なソート (stable sort)」と言います。

@see Enumerable#sort_by...

Enumerable#sort {|a, b| ... } -> [object] (2)

全ての要素を昇順にソートした配列を生成して返します。

...たときは例外 TypeError が発生します。

Enumerable
#sort は安定ではありません (unstable sort)。
安定なソートが必要な場合は Enumerable#sort_by を使って工夫する必要があります。
詳しくは Enumerable#sort_by の項目を参照してください。...
...※ 比較結果が同じ要素は元の順序通りに並ぶソートを
「安定なソート (stable sort)」と言います。

@see Enumerable#sort_by...

Enumerable#sort_by -> Enumerable::Enumerator (2)

ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。 つまり、以下とほぼ同じ動作をします。

...class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end
end

Enumerable
#sort と比較して sort_by が優れている点として、
比較条件が複雑な場合の速度が挙げられます。
sort_by を使...
...}

$n = 0
ary.sort {|a,b| a.count <=> b.count }
p $n # => 18200

$n = 0
ary.sort_by {|v| v.count }
p $n # => 1000

Enumerable
#sort_by は安定ではありません (unstable sort)。
ただし、sort_by を以下のように使うと安定なソートを実装でき...
...ます。

i = 0
ary.sort_by {|v| [v, i += 1] }

※ 比較結果が同じ要素は元の順序通りに並ぶソートを
「安定なソート (stable sort)」と言います。


@see Enumerable#sort...

絞り込み条件を変える

Enumerable#sort_by {|item| ... } -> [object] (2)

ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。 つまり、以下とほぼ同じ動作をします。

...class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end
end

Enumerable
#sort と比較して sort_by が優れている点として、
比較条件が複雑な場合の速度が挙げられます。
sort_by を使...
...}

$n = 0
ary.sort {|a,b| a.count <=> b.count }
p $n # => 18200

$n = 0
ary.sort_by {|v| v.count }
p $n # => 1000

Enumerable
#sort_by は安定ではありません (unstable sort)。
ただし、sort_by を以下のように使うと安定なソートを実装でき...
...ます。

i = 0
ary.sort_by {|v| [v, i += 1] }

※ 比較結果が同じ要素は元の順序通りに並ぶソートを
「安定なソート (stable sort)」と言います。


@see Enumerable#sort...

Enumerable#take(n) -> Array (2)

Enumerable オブジェクトの先頭から n 要素を配列として返します。

...
Enumerable
オブジェクトの先頭から n 要素を配列として返します。

@param n 要素数を指定します。

a = [1, 2, 3, 4, 5, 0]
a.take(3) # => [1, 2, 3]...

Enumerable#take_while -> Enumerable::Enumerator (2)

Enumerable オブジェクトの要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。

...
Enumerable
オブジェクトの要素を順に偽になるまでブロックで評価します。
最初に偽になった要素の手前の要素までを配列として返します。

a = [1, 2, 3, 4, 5, 0]
a.take_while {|i| i < 3 } # => [1, 2]...

Enumerable#take_while {|element| ... } -> Array (2)

Enumerable オブジェクトの要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。

...
Enumerable
オブジェクトの要素を順に偽になるまでブロックで評価します。
最初に偽になった要素の手前の要素までを配列として返します。

a = [1, 2, 3, 4, 5, 0]
a.take_while {|i| i < 3 } # => [1, 2]...

Enumerable#to_a -> [object] (2)

全ての要素を含む配列を返します。

全ての要素を含む配列を返します。

絞り込み条件を変える

Enumerable#to_set(klass = Set, *args) -> Set (2)

Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。

...
Enumerable
オブジェクトの要素から、新しい集合オブジェクトを作ります。

引数 klass を与えた場合、Set クラスの代わりに、指定した集合クラスの
インスタンスを作ります。
この引数を指定することで、SortedSet あるいはそ...

Enumerable#to_set(klass = Set, *args) {|o| ... } -> Set (2)

Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。

...
Enumerable
オブジェクトの要素から、新しい集合オブジェクトを作ります。

引数 klass を与えた場合、Set クラスの代わりに、指定した集合クラスの
インスタンスを作ります。
この引数を指定することで、SortedSet あるいはそ...

Enumerable#zip(*lists) -> [[object]] (2)

self と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。

self と引数に渡した配列の各要素からなる配列の配列を生成して返します。
生成される配列の要素数は self の要素数と同じです。

ブロック付きで呼び出した場合は、
self と引数に渡した配列の各要素を順番にブロックに渡します。

@param lists 配列を指定します。配列でない場合は to_a メソッドにより配列に変換します。

例:
p (1..3).zip([4,5,6], [7,8,9])
# => [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

p (1..2).zip([:a,:b,:c], [:A,:B,:C,:...

Enumerable#zip(*lists) {|v1, v2, ...| ...} -> nil (2)

self と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。

self と引数に渡した配列の各要素からなる配列の配列を生成して返します。
生成される配列の要素数は self の要素数と同じです。

ブロック付きで呼び出した場合は、
self と引数に渡した配列の各要素を順番にブロックに渡します。

@param lists 配列を指定します。配列でない場合は to_a メソッドにより配列に変換します。

例:
p (1..3).zip([4,5,6], [7,8,9])
# => [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

p (1..2).zip([:a,:b,:c], [:A,:B,:C,:...