Index: Enumerable =================================================================== --- Enumerable (リビジョン 2454) +++ Enumerable (作業コピー) @@ -67,6 +67,7 @@ # [15, 2] #@since 1.8.4 +#@# どこ? @see enum_with_index #@end @@ -108,6 +109,9 @@ 各要素に対してブロックを評価した値が真であった要素を全て含む配列を 返します。真になる要素がひとつもなかった場合は空の配列を返します。 + p [1, 2, 3, 4, 5].find_all{|item| item < 3 } #=> [1, 2] + p [1, 2, 3, 4, 5].find_all{|item| item > 10 } #=> [] + --- grep(pattern) -> [Object] --- grep(pattern) {|item| ... } -> [Object] @@ -146,7 +150,7 @@ 例: # 合計を計算する - p [1, 2,3, 4, 5].inject(0) {|result, item| result + item } # => 15 + p [1, 2, 3, 4, 5].inject(0) {|result, item| result + item } # => 15 この式は以下のように書いても同じ結果が得られます。 @@ -162,15 +166,20 @@ @arg val 任意のオブジェクト ---- max -> Object + p [ 1, 2, 3, 4, 5].include?(3) #=> true +--- max -> Object | nil + 最大の要素を返します。 全要素が互いに <=> メソッドで比較できることを仮定しています。 要素が存在しなければ nil を返します。 ---- max {|a, b| ... } -> Object + p [ 6, 9, 4, 5, 7].max #=> 9 + p [].max #=> nil +--- max {|a, b| ... } -> Object | nil + ブロックの評価結果で各要素の大小判定を行い、最大の要素を返します。 要素が存在しなければ nil を返します。 @@ -179,6 +188,8 @@ ブロックが整数以外を返したときは 例外 [[c:TypeError]] が発生します。 + p [ 6, 9, 4, 5, 7].max{|a, b| 1.0/a <=> 1.0/b} #=> 4 + @raise TypeError ブロックが整数以外を返したときに発生します。 #@since 1.9.0 @@ -194,15 +205,18 @@ 詳細は [[m:Enumerable#sort_by]] を参照してください。 #@end ---- min -> Object +--- min -> Object | nil 最小の要素を返します。 全要素が互いに <=> メソッドで比較できることを仮定しています。 要素が存在しなければ nil を返します。 ---- min {|a, b| ... } -> Object + p [ 6, 9, 4, 5, 7].min #=> 4 + p [].min #=> nil +--- min {|a, b| ... } -> Object | nil + ブロックの評価結果で各要素の大小判定を行い、最小の要素を返します。 要素が存在しなければ nil を返します。 @@ -210,6 +224,8 @@ a < b のとき負の整数を、期待しています。 ブロックが整数以外を返したときは例外 TypeError が発生します。 + p [ 6, 9, 4, 5, 7].min{|a, b| 1.0/a <=> 1.0/b} #=> 9 + @raise TypeError ブロックが整数以外を返したとき #@since 1.9.0 @@ -270,6 +286,9 @@ ※ 比較結果が同じ要素は元の順序通りに並ぶソートを 「安定なソート (stable sort)」と言います。 + p [ 5, 1, 3, 2, 0, -1].sort #=> [-1, 0, 1, 2, 3, 5] + p [ 5, 1, 3, 2, 0, -1].sort{|a, b| b <=> a} #=> [5, 3, 2, 1, 0, -1] + @see [[m:Enumerable#sort_by]] #@since 1.8.0 @@ -336,6 +355,8 @@ 全ての要素を含む配列を返します。 + p [ "a", 3, "b", 4, 5].to_a #=> ["a", 3, "b", 4, 5] + #@since 1.8.0 --- zip(*lists) -> [[Object]]