別のキーワード
キーワード
- all? (24)
- any? (32)
- chain (7)
- chunk (12)
-
chunk
_ while (12) - collect (24)
- compact (4)
- count (36)
- cycle (24)
- detect (24)
- drop (12)
-
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)
- grep (24)
-
grep
_ v (24) - include? (12)
- inject (36)
- lazy (12)
- map (24)
- max (48)
-
max
_ by (48) - member? (12)
- min (48)
-
min
_ by (48) - minmax (24)
-
minmax
_ by (24) - none? (24)
- one? (24)
- reduce (36)
- reject (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 (8)
-
to
_ a (12) -
to
_ h (19) -
to
_ set (24) - uniq (24)
- zip (24)
検索結果
先頭5件
-
Enumerable
# max {|a , b| . . . } -> object | nil (182.0) -
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の n 要素が入った降順の配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
...ます。
ブロックの値は、a > b のとき正、
a == b のとき 0、a < b のとき負の整数を、期待しています。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
@param n 取得する要素数。
@raise TypeError ブロックが......整数以外を返したときに発生します。
//emlist[例][ruby]{
class Person
attr_reader :name, :age
def initialize(name, age)
@name = name
@age = age
end
end
people = [
Person.new("sato", 55),
Person.new("sato", 33),
Person.new("sato", 11),
Person.new("suzuki", 55)......{ |x, y| (x.age <=> y.age).nonzero? || y.name <=> x.name }
# => #<Person:0x007fc54b0240a0 @name="sato", @age=55>
people.max(2) { |x, y| (x.age <=> y.age).nonzero? || y.name <=> x.name }
# => [#<Person:0x007fc54b0240a0 @name="sato", @age=55>, #<Person:0x007fc54c033ea0 @name="suzuki", @age=55>]
//}... -
Enumerable
# max(n) {|a , b| . . . } -> Array (182.0) -
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の n 要素が入った降順の配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
...ます。
ブロックの値は、a > b のとき正、
a == b のとき 0、a < b のとき負の整数を、期待しています。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
@param n 取得する要素数。
@raise TypeError ブロックが......整数以外を返したときに発生します。
//emlist[例][ruby]{
class Person
attr_reader :name, :age
def initialize(name, age)
@name = name
@age = age
end
end
people = [
Person.new("sato", 55),
Person.new("sato", 33),
Person.new("sato", 11),
Person.new("suzuki", 55)......{ |x, y| (x.age <=> y.age).nonzero? || y.name <=> x.name }
# => #<Person:0x007fc54b0240a0 @name="sato", @age=55>
people.max(2) { |x, y| (x.age <=> y.age).nonzero? || y.name <=> x.name }
# => [#<Person:0x007fc54b0240a0 @name="sato", @age=55>, #<Person:0x007fc54c033ea0 @name="suzuki", @age=55>]
//}... -
Enumerable
# min {|a , b| . . . } -> object | nil (182.0) -
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の n 要素が昇順で入った配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
...ブロックの値は、a > b のとき正、a == b のとき 0、
a < b のとき負の整数を、期待しています。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
@param n 取得する要素数。
//emlist[例][ruby]{
class Person
attr_rea......der :name, :age
def initialize(name, age)
@name = name
@age = age
end
end
people = [
Person.new("sato", 55),
Person.new("sato", 33),
Person.new("sato", 11),
Person.new("suzuki", 55),
Person.new("suzuki", 33),
Person.new("suzuki", 11),
Person.new("tanaka", 55),
Person.ne.......age <=> y.age).nonzero? || y.name <=> x.name }
# => #<Person:0x007fd6f0824190 @name="tanaka", @age=11>
people.min(2) { |x, y| (x.age <=> y.age).nonzero? || y.name <=> x.name }
# => [#<Person:0x007fb5899ef4a8 @name="tanaka", @age=11>, #<Person:0x007fb5899ef728 @name="suzuki", @age=11>]
//}
@raise... -
Enumerable
# min(n) {|a , b| . . . } -> Array (182.0) -
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の n 要素が昇順で入った配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
...ブロックの値は、a > b のとき正、a == b のとき 0、
a < b のとき負の整数を、期待しています。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
@param n 取得する要素数。
//emlist[例][ruby]{
class Person
attr_rea......der :name, :age
def initialize(name, age)
@name = name
@age = age
end
end
people = [
Person.new("sato", 55),
Person.new("sato", 33),
Person.new("sato", 11),
Person.new("suzuki", 55),
Person.new("suzuki", 33),
Person.new("suzuki", 11),
Person.new("tanaka", 55),
Person.ne.......age <=> y.age).nonzero? || y.name <=> x.name }
# => #<Person:0x007fd6f0824190 @name="tanaka", @age=11>
people.min(2) { |x, y| (x.age <=> y.age).nonzero? || y.name <=> x.name }
# => [#<Person:0x007fb5899ef4a8 @name="tanaka", @age=11>, #<Person:0x007fb5899ef728 @name="suzuki", @age=11>]
//}
@raise... -
Enumerable
# chunk {|elt| . . . } -> Enumerator (150.0) -
要素を前から順にブロックで評価し、その結果によって 要素をチャンクに分けた(グループ化した)要素を持つ Enumerator を返します。
...//emlist[][ruby]{
enum.chunk {|elt| key }.each {|key, ary| do_something }
//}
例として、整数列を連続する奇数/偶数に分ける例を見てみます。
「n.even?」の値が切り替わるところで区切られているのがわかるでしょう。
//emlist[例][ruby]{
[3, 1, 4......, 1, 5, 9, 2, 6, 5, 3, 5].chunk {|n|
n.even?
}.each {|even, ary|
p [even, ary]
}
# => [false, [3, 1]]
# [true, [4]]
# [false, [1, 5, 9]]
# [true, [2, 6]]
# [false, [5, 3, 5]]
//}
このメソッドは各要素が既にソートされている場合に便利です。
以下の例で......ています。
//emlist[例][ruby]{
# ファイルのエンコーディングは実際のファイルに合わせてください。
open("/usr/share/dict/words", "r:iso-8859-1") {|f|
f.chunk {|line| line[0].upcase }.each {|ch, lines| p [ch, lines.length] }
}
# => ["A", 17096]
# ["B", 11070]
#... -
Enumerable
# to _ set(klass = Set , *args) -> Set (144.0) -
Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。
...
Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。
引数 klass を与えた場合、Set クラスの代わりに、指定した集合クラスの
インスタンスを作ります。
この引数を指定することで、ユーザ定義の集合ク......るクラスです。
Ruby 2.7 以前は SortedSet が定義されていました)。
引数 args およびブロックは、集合オブジェクトを生成するための new
メソッドに渡されます。
@param klass 生成する集合クラスを指定します。
@param args 集合クラ......を指定します。
@param block 集合クラスのオブジェクト初期化メソッドに渡すブロックを指定します。
@return 生成された集合オブジェクトを返します。
//emlist[][ruby]{
require 'set'
p [30, 10, 20].to_set
#=> #<Set: {30, 10, 20}>
MySet = Class.new(S......
Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。
引数 klass を与えた場合、Set クラスの代わりに、指定した集合クラスの
インスタンスを作ります。
この引数を指定することで、ユーザ定義の集合......るクラスです。
Ruby 2.7 以前は SortedSet が定義されていました)。
引数 args およびブロックは、集合オブジェクトを生成するための new
メソッドに渡されます。
@param klass 生成する集合クラスを指定します。
@param args 集合ク......引数を指定します。
@param block 集合クラスのオブジェクト初期化メソッドに渡すブロックを指定します。
@return 生成された集合オブジェクトを返します。
//emlist[][ruby]{
p [30, 10, 20].to_set
#=> #<Set: {30, 10, 20}>
MySet = Class.new(Set)
p [3... -
Enumerable
# to _ set(klass = Set , *args) {|o| . . . } -> Set (144.0) -
Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。
...
Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。
引数 klass を与えた場合、Set クラスの代わりに、指定した集合クラスの
インスタンスを作ります。
この引数を指定することで、ユーザ定義の集合ク......るクラスです。
Ruby 2.7 以前は SortedSet が定義されていました)。
引数 args およびブロックは、集合オブジェクトを生成するための new
メソッドに渡されます。
@param klass 生成する集合クラスを指定します。
@param args 集合クラ......を指定します。
@param block 集合クラスのオブジェクト初期化メソッドに渡すブロックを指定します。
@return 生成された集合オブジェクトを返します。
//emlist[][ruby]{
require 'set'
p [30, 10, 20].to_set
#=> #<Set: {30, 10, 20}>
MySet = Class.new(S......
Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。
引数 klass を与えた場合、Set クラスの代わりに、指定した集合クラスの
インスタンスを作ります。
この引数を指定することで、ユーザ定義の集合......るクラスです。
Ruby 2.7 以前は SortedSet が定義されていました)。
引数 args およびブロックは、集合オブジェクトを生成するための new
メソッドに渡されます。
@param klass 生成する集合クラスを指定します。
@param args 集合ク......引数を指定します。
@param block 集合クラスのオブジェクト初期化メソッドに渡すブロックを指定します。
@return 生成された集合オブジェクトを返します。
//emlist[][ruby]{
p [30, 10, 20].to_set
#=> #<Set: {30, 10, 20}>
MySet = Class.new(Set)
p [3... -
Enumerable
# all? -> bool (138.0) -
すべての要素が真である場合に true を返します。 偽である要素があれば、ただちに false を返します。
...す。
@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]で評価
p({foo: 0, bar......: 1}.all?(Array)) # => true
p({foo: 0, bar: 1}.all?(Hash)) # => false
//}
@see Array#all?... -
Enumerable
# all? {|item| . . . } -> bool (138.0) -
すべての要素が真である場合に true を返します。 偽である要素があれば、ただちに false を返します。
...す。
@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]で評価
p({foo: 0, bar......: 1}.all?(Array)) # => true
p({foo: 0, bar: 1}.all?(Hash)) # => false
//}
@see Array#all?... -
Enumerable
# all?(pattern) -> bool (138.0) -
すべての要素が真である場合に true を返します。 偽である要素があれば、ただちに false を返します。
...す。
@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]で評価
p({foo: 0, bar......: 1}.all?(Array)) # => true
p({foo: 0, bar: 1}.all?(Hash)) # => false
//}
@see Array#all?... -
Enumerable
# any? -> bool (138.0) -
すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。
...す。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
require 'set'
p Set[1, 2, 3].any? {|v| v > 3 } # => false
p Set[1, 2, 3].any? {|v| v > 1 } # => true
p Set[].any? {|v| v > 0 } # => fals......e
p Set['ant', 'bear', 'cat'].any?(/d/) # => false
p Set[nil, true, 99].any?(Integer) # => true
p Set[nil, true, 99].any? # => true
p Set[].any? # => false
//}
@see Array#any?... -
Enumerable
# any? {|item| . . . } -> bool (138.0) -
すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。
...す。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
require 'set'
p Set[1, 2, 3].any? {|v| v > 3 } # => false
p Set[1, 2, 3].any? {|v| v > 1 } # => true
p Set[].any? {|v| v > 0 } # => fals......e
p Set['ant', 'bear', 'cat'].any?(/d/) # => false
p Set[nil, true, 99].any?(Integer) # => true
p Set[nil, true, 99].any? # => true
p Set[].any? # => false
//}
@see Array#any?...