別のキーワード
ライブラリ
- ビルトイン (364)
モジュール
- Comparable (15)
- Enumerable (144)
検索結果
先頭5件
-
Object
# <=>(other) -> 0 | nil (21119.0) -
self === other である場合に 0 を返します。そうでない場合には nil を返します。
...self === other である場合に 0 を返します。そうでない場合には nil を返します。
//emlist[例][ruby]{
a = Object.new
b = Object.new
a <=> a # => 0
a <=> b # => nil
//}
@see Object#===... -
Range
# minmax -> [object , object] (225.0) -
範囲内の要素のうち、最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
...ち、最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
一つ目の形式では、全要素が互いに <=> メソッドで比較できることを仮定しています。
二つ目の形式では、要素同士の比較をブロックを用いて行いま......す。
ブロックの値は、a > b のとき正、 a == b のとき 0、a < b のとき負の整数を、期待しています。
//emlist[例][ruby]{
(1..3).minmax # => [1, 3]
h = { 1 => "C", 2 => "Go", 3 => "Ruby" }
(1..3).minmax { |a, b| h[a].length <=> h[b].length } # => [1, 3]
//}... -
Range
# minmax {|a , b| . . . } -> [object , object] (225.0) -
範囲内の要素のうち、最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
...ち、最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
一つ目の形式では、全要素が互いに <=> メソッドで比較できることを仮定しています。
二つ目の形式では、要素同士の比較をブロックを用いて行いま......す。
ブロックの値は、a > b のとき正、 a == b のとき 0、a < b のとき負の整数を、期待しています。
//emlist[例][ruby]{
(1..3).minmax # => [1, 3]
h = { 1 => "C", 2 => "Go", 3 => "Ruby" }
(1..3).minmax { |a, b| h[a].length <=> h[b].length } # => [1, 3]
//}... -
Array
# minmax -> [object , object] (219.0) -
自身の各要素のうち最小の要素と最大の要素を 要素とするサイズ 2 の配列を返します。
...します。
一つ目の形式は、各要素がすべて <=> メソッドを実装していることを仮定し
ています。二つ目の形式では、要素同士の比較をブロックを用いて行います。
//emlist[例][ruby]{
a = %w(albatross dog horse)
a.minmax......#=> ["albatross", "horse"]
a.minmax{|a,b| a.length <=> b.length } #=> ["dog", "albatross"]
[].minmax # => [nil, nil]
//}
@see Enumerable#minmax... -
Array
# minmax {|a , b| . . . } -> [object , object] (219.0) -
自身の各要素のうち最小の要素と最大の要素を 要素とするサイズ 2 の配列を返します。
...します。
一つ目の形式は、各要素がすべて <=> メソッドを実装していることを仮定し
ています。二つ目の形式では、要素同士の比較をブロックを用いて行います。
//emlist[例][ruby]{
a = %w(albatross dog horse)
a.minmax......#=> ["albatross", "horse"]
a.minmax{|a,b| a.length <=> b.length } #=> ["dog", "albatross"]
[].minmax # => [nil, nil]
//}
@see Enumerable#minmax... -
Enumerable
# minmax -> [object , object] (213.0) -
Enumerable オブジェクトの各要素のうち最小の要素と最大の要素を 要素とするサイズ 2 の配列を返します。
...、要素同士の比較を
ブロックを用いて行います。
//emlist[例][ruby]{
a = %w(albatross dog horse)
a.minmax #=> ["albatross", "horse"]
a.minmax{|a,b| a.length <=> b.length } #=> ["dog", "albatross"]
[].minmax # => [nil, nil]
//}
@see Enumerable#s... -
Enumerable
# minmax {|a , b| . . . } -> [object , object] (213.0) -
Enumerable オブジェクトの各要素のうち最小の要素と最大の要素を 要素とするサイズ 2 の配列を返します。
...、要素同士の比較を
ブロックを用いて行います。
//emlist[例][ruby]{
a = %w(albatross dog horse)
a.minmax #=> ["albatross", "horse"]
a.minmax{|a,b| a.length <=> b.length } #=> ["dog", "albatross"]
[].minmax # => [nil, nil]
//}
@see Enumerable#s... -
Enumerable
# sort _ by {|item| . . . } -> [object] (165.0) -
ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。
...ブロックの評価結果を <=> メソッドで比較することで、self を昇
順にソートします。ソートされた配列を新たに生成して返します。
つまり、以下とほぼ同じ動作をします。
//emlist[例][ruby]{
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 を使わない以下の例では比較を行う度に downcase......//emlist[][ruby]{
p ["BAR", "FOO", "bar", "foo"].sort {|a, b| a.downcase <=> b.downcase }
//}
一方、次のように sort_by を使うと downcase の実行回数は要素数と同じです。
つまり、その部分の実行時間は O(n) のオーダーです。
//emlist[][ruby]{
p ["BAR",... -
Comparable
# clamp(min , max) -> object (149.0) -
self を範囲内に収めます。
...f を範囲内に収めます。
min と max の2つの引数が渡された場合は次のようになります。
self <=> min が負数を返したときは min を、
self <=> max が正数を返したときは max を、
それ以外の場合は self を返します。
min が nil の場合......も大きい値として扱われます。
range が1つ渡された場合は次のようになります。
self <=> range.begin が負数を返したときは range.begin を、
self <=> range.end が正数を返したときは range.end を、
それ以外の場合は self を返します。
ran......いときに発生します。
//emlist[例][ruby]{
12.clamp(0, 100) #=> 12
523.clamp(0, 100) #=> 100
-3.123.clamp(0, 100) #=> 0
'd'.clamp('a', 'f') #=> 'd'
'z'.clamp('a', 'f') #=> 'f'
//}
//emlist[nil を渡す例][ruby]{
5.clamp(0, nil) #=> 5
5.clamp(nil, 0... -
Comparable
# clamp(range) -> object (149.0) -
self を範囲内に収めます。
...f を範囲内に収めます。
min と max の2つの引数が渡された場合は次のようになります。
self <=> min が負数を返したときは min を、
self <=> max が正数を返したときは max を、
それ以外の場合は self を返します。
min が nil の場合......も大きい値として扱われます。
range が1つ渡された場合は次のようになります。
self <=> range.begin が負数を返したときは range.begin を、
self <=> range.end が正数を返したときは range.end を、
それ以外の場合は self を返します。
ran......いときに発生します。
//emlist[例][ruby]{
12.clamp(0, 100) #=> 12
523.clamp(0, 100) #=> 100
-3.123.clamp(0, 100) #=> 0
'd'.clamp('a', 'f') #=> 'd'
'z'.clamp('a', 'f') #=> 'f'
//}
//emlist[nil を渡す例][ruby]{
5.clamp(0, nil) #=> 5
5.clamp(nil, 0... -
Comparable
# clamp(min , max) -> object (143.0) -
self を範囲内に収めます。
...次のようになります。
self <=> min が負数を返したときは min を、
self <=> max が正数を返したときは max を、
それ以外の場合は self を返します。
range が1つ渡された場合は次のようになります。
self <=> range.begin が負数を返した......いときに発生します。
//emlist[例][ruby]{
12.clamp(0, 100) #=> 12
523.clamp(0, 100) #=> 100
-3.123.clamp(0, 100) #=> 0
'd'.clamp('a', 'f') #=> 'd'
'z'.clamp('a', 'f') #=> 'f'
//}
//emlist[range を渡す例][ruby]{
12.clamp(0..100) #=> 12
523.clamp(0..1......00) #=> 100
-3.123.clamp(0..100) #=> 0
'd'.clamp('a'..'f') #=> 'd'
'z'.clamp('a'..'f') #=> 'f'
100.clamp(0...100) # ArgumentError
//}
//emlist[range の始端か終端が nil の場合][ruby]{
-20.clamp(0..) #=> 0
523.clamp(..100) #=> 100
//}... -
Comparable
# clamp(range) -> object (143.0) -
self を範囲内に収めます。
...次のようになります。
self <=> min が負数を返したときは min を、
self <=> max が正数を返したときは max を、
それ以外の場合は self を返します。
range が1つ渡された場合は次のようになります。
self <=> range.begin が負数を返した......いときに発生します。
//emlist[例][ruby]{
12.clamp(0, 100) #=> 12
523.clamp(0, 100) #=> 100
-3.123.clamp(0, 100) #=> 0
'd'.clamp('a', 'f') #=> 'd'
'z'.clamp('a', 'f') #=> 'f'
//}
//emlist[range を渡す例][ruby]{
12.clamp(0..100) #=> 12
523.clamp(0..1......00) #=> 100
-3.123.clamp(0..100) #=> 0
'd'.clamp('a'..'f') #=> 'd'
'z'.clamp('a'..'f') #=> 'f'
100.clamp(0...100) # ArgumentError
//}
//emlist[range の始端か終端が nil の場合][ruby]{
-20.clamp(0..) #=> 0
523.clamp(..100) #=> 100
//}... -
Enumerable
# max _ by {|item| . . . } -> object | nil (135.0) -
各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
...各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ n......。
@param n 取得する要素数。
//emlist[例][ruby]{
a = %w(albatross dog horse)
a.max_by # => #<Enumerator: ["albatross", "dog", "horse"]:max_by>
a.max_by { |x| x.length } # => "albatross"
//}
//emlist[例][ruby]{
a = %w[albatross dog horse]
a.max_by(2)......み付きランダムサンプリングを実装するために使用できます。次の実装例は、Enumerable#wsampleを使用します。][ruby]{
module Enumerable
# weighted random sampling.
#
# Pavlos S. Efraimidis, Paul G. Spirakis
# Weighted random sampling with a reservoir
# In... -
Range
# max {|a , b| . . . } -> object | nil (135.0) -
ブロックの評価結果で範囲内の各要素の大小判定を行い、最大の要素、もしくは 最大の n 要素を返します。引数を指定しない形式では、 範囲内に要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
...返したときに発生します。
@see Range#last, Range#min, Enumerable#max
//emlist[例][ruby]{
h = { 1 => "C", 2 => "Go", 3 => "Ruby" }
(1..3).max { |a, b| h[a].length <=> h[b].length } # => 3
//}
//emlist[例][ruby]{
(1..3).max(2) { |a, b| h[a].length <=> h[b].length } # => [3, 2]
//}...