キーワード
- all? (28)
- any? (20)
- chain (7)
- chunk (12)
-
chunk
_ while (12) - collect (24)
-
collect
_ concat (24) - compact (4)
- count (36)
- cycle (24)
- detect (24)
-
drop
_ while (24) -
each
_ cons (24) -
each
_ entry (24) -
each
_ slice (24) -
each
_ with _ index (24) -
each
_ with _ object (24) - entries (12)
- filter (14)
-
filter
_ map (12) - find (24)
-
find
_ all (24) -
find
_ index (36) - first (24)
-
flat
_ map (24) - grep (24)
-
grep
_ v (24) -
group
_ by (12) - inject (36)
- lazy (12)
- map (24)
- max (24)
-
max
_ by (48) - min (24)
-
min
_ by (48) - minmax (24)
-
minmax
_ by (24) - none? (8)
- one? (24)
- partition (24)
- reduce (36)
- reject (24)
-
reverse
_ each (24) - select (24)
-
slice
_ after (24) -
slice
_ before (24) -
slice
_ when (12) - sort (24)
-
sort
_ by (24) - sum (24)
- take (12)
-
take
_ while (24) - tally (10)
-
to
_ a (12) -
to
_ h (19) -
to
_ set (24) - uniq (12)
- zip (24)
検索結果
先頭5件
-
Enumerable
# slice _ before(pattern) -> Enumerator (102.0) -
パターンがマッチした要素、もしくはブロックが真を返した要素から 次にマッチする手前までを チャンク化(グループ化)したものを繰り返す Enumerator を 返します。
...はブロックが真を返した要素から
次にマッチする手前までを
チャンク化(グループ化)したものを繰り返す Enumerator を
返します。
パターンを渡した場合は各要素に対し === が呼び出され、
それが真になったところをチャン......クは配列として表現されます。
Enumerable#to_a や Enumerable#map のようなメソッドを使うこ
ともできます。
//emlist[例][ruby]{
# 偶数要素をチャンクの先頭と見なす
[0,2,4,1,2,4,5,3,1,4,2].slice_before(&:even?).to_a
# => [[0], [2], [4, 1], [2], [4, 5, 3,......1], [4], [2]]
# 奇数要素をチャンクの先頭と見なす
[0,2,4,1,2,4,5,3,1,4,2].slice_before(&:odd?).to_a
# => [[0, 2, 4], [1, 2, 4], [5], [3], [1, 4, 2]]
# ChangeLog のエントリーを順に取る
open("ChangeLog") {|f|
f.slice_before(/\A\S/).each {|e| pp e}
}
# 上と同じだが... -
Enumerable
# sum(init=0) -> object (102.0) -
要素の合計を返します。
...が空の場合、initを返します。
//emlist[例][ruby]{
{ 1 => 10, 2 => 20 }.sum {|k, v| k * v } # => 50
(1..10).sum # => 55
(1..10).sum {|v| v * 2 } # => 110
('a'..'z').sum # => TypeError
//}
init 引数を明示的......えます。
//emlist[例][ruby]{
{ 1 => 10, 2 => 20 }.sum([]) #=> [1, 10, 2, 20]
"a\nb\nc".each_line.lazy.map(&:chomp).sum("") #=> "abc"
[[1], [[2]], [3]].sum([]) #=> [1, [2], 3]
//}
"+" メソッドが再定義されている場合、Enumerable#sum は再定義を無......視することがあります(例えばInteger#+)。
@see Array#sum... -
Enumerable
# sum(init=0) {|e| expr } -> object (102.0) -
要素の合計を返します。
...が空の場合、initを返します。
//emlist[例][ruby]{
{ 1 => 10, 2 => 20 }.sum {|k, v| k * v } # => 50
(1..10).sum # => 55
(1..10).sum {|v| v * 2 } # => 110
('a'..'z').sum # => TypeError
//}
init 引数を明示的......えます。
//emlist[例][ruby]{
{ 1 => 10, 2 => 20 }.sum([]) #=> [1, 10, 2, 20]
"a\nb\nc".each_line.lazy.map(&:chomp).sum("") #=> "abc"
[[1], [[2]], [3]].sum([]) #=> [1, [2], 3]
//}
"+" メソッドが再定義されている場合、Enumerable#sum は再定義を無......視することがあります(例えばInteger#+)。
@see Array#sum... -
Enumerable
# uniq { |item| . . . } -> Array (102.0) -
self から重複した値を取り除いた配列を返します。
...複した要素を取り除いた
配列を返します。
//emlist[例][ruby]{
olympics = {
1896 => 'Athens',
1900 => 'Paris',
1904 => 'Chicago',
1906 => 'Athens',
1908 => 'Rome',
}
olympics.uniq{|k,v| v} # => [[1896, "Athens"], [1900, "Paris"], [1904, "Chicago"], [1908, "Rome"]]
(1..10... -
Enumerable
# zip(*lists) -> [[object]] (102.0) -
self と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。
...順番にブロックに渡します。
@param lists 配列を指定します。配列でない場合は to_ary メソッドにより配列に変換します。
to_ary メソッドが無い場合は each を試します。
//emlist[例][ruby]{
p (1..3).zip([4,5,6], [7,8,9])
# => [[1,......,:c], [:A,:B,:C,:D])
# => a, :A], [2, :b, :B
p (1..5).zip([:a,:b,:c], [:A,:B,:C,:D])
# => [[1, :a, :A], [2, :b, :B],
# [3, :c, :C], [4, nil, :D], [5, nil, nil]]
//}
//emlist[例][ruby]{
p [1,2,3].zip([4,5,6], [7,8,9]) {|ary|
p ary
}
# => [1, 4, 7]
# [2, 5, 8]
# [3, 6, 9]
# nil
//}... -
Enumerable
# zip(*lists) {|v1 , v2 , . . . | . . . } -> nil (102.0) -
self と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。
...順番にブロックに渡します。
@param lists 配列を指定します。配列でない場合は to_ary メソッドにより配列に変換します。
to_ary メソッドが無い場合は each を試します。
//emlist[例][ruby]{
p (1..3).zip([4,5,6], [7,8,9])
# => [[1,......,:c], [:A,:B,:C,:D])
# => a, :A], [2, :b, :B
p (1..5).zip([:a,:b,:c], [:A,:B,:C,:D])
# => [[1, :a, :A], [2, :b, :B],
# [3, :c, :C], [4, nil, :D], [5, nil, nil]]
//}
//emlist[例][ruby]{
p [1,2,3].zip([4,5,6], [7,8,9]) {|ary|
p ary
}
# => [1, 4, 7]
# [2, 5, 8]
# [3, 6, 9]
# nil
//}... -
Enumerable
# all? -> bool (8.0) -
すべての要素が真である場合に true を返します。 偽である要素があれば、ただちに false を返します。
...べての要素が真である場合に true を返します。
偽である要素があれば、ただちに false を返します。
ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が真である場合に true を返します。ブロックが...... true を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
require 'set'
# すべて正の数か?
p Set[5, 6, 7].all? {|v| v > 0 } # => true
p Set[5, -1, 7].all? {|v| v > 0 } # => false
p Set[].......all? {|v| v > 0 } # => true
p Set['ant', 'bear', 'cat'].all?(/t/) # => false
p (1..4).all?(Integer) # => true
p [1, 2, 3].all?(Integer) # => true
p [1, 2, 3.0].all?(Integer) # => false
# Hashは[k, v]のペアなのでArray/Hash === [k, v]で評... -
Enumerable
# one? -> bool (8.0) -
ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうち ちょうど一つだけが真であれば、真を返します。 そうでなければ偽を返します。
...ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうち
ちょうど一つだけが真であれば、真を返します。
そうでなければ偽を返します。
ブロックを指定した場合は、Enumerable オブジェクトの要素を
ブロックで......ttern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
require 'set'
Set['ant', 'bear', 'cat'].one? {|word| word.length == 4} # => true
Set['ant', 'bear', 'cat'].one? {|word| word.length > 4} # => false
Set['ant', 'bear', 'cat'].one?(/t....../) # => false
Set[nil, true, 99].one? # => false
Set[nil, true, false].one? # => true
Set[nil, true, 99].one?(Integer) # => true
Set[].one? #... -
Enumerable
# one? {|obj| . . . } -> bool (8.0) -
ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうち ちょうど一つだけが真であれば、真を返します。 そうでなければ偽を返します。
...ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうち
ちょうど一つだけが真であれば、真を返します。
そうでなければ偽を返します。
ブロックを指定した場合は、Enumerable オブジェクトの要素を
ブロックで......ttern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
require 'set'
Set['ant', 'bear', 'cat'].one? {|word| word.length == 4} # => true
Set['ant', 'bear', 'cat'].one? {|word| word.length > 4} # => false
Set['ant', 'bear', 'cat'].one?(/t....../) # => false
Set[nil, true, 99].one? # => false
Set[nil, true, false].one? # => true
Set[nil, true, 99].one?(Integer) # => true
Set[].one? #...