るりまサーチ

最速Rubyリファレンスマニュアル検索!
120件ヒット [1-100件を表示] (0.015秒)
トップページ > クエリ:j[x] > クエリ:sort[x]

別のキーワード

  1. encoding windows_31j
  2. _builtin windows_31j
  3. _builtin cswindows31j
  4. encoding cswindows31j
  5. json j

ライブラリ

モジュール

キーワード

検索結果

<< 1 2 > >>

Enumerable#sort -> [object] (18250.0)

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

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

Enumerable#sort は安定ではありません (unstable sort)。
安定なソートが必要な場合は Enumerable#sort_by を使って工夫する必要があります。
詳しくは Enumerable#sort_by の項目を参照してください。

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

//emlist[例][ruby]{
%w(rhea kea flea).sort # => ["flea", "kea", "rhea"]
(1..10).sort { |a, b| b <=> a } # => [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
//}

@see Enumerable#sort_by...

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

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

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

Enumerable#sort は安定ではありません (unstable sort)。
安定なソートが必要な場合は Enumerable#sort_by を使って工夫する必要があります。
詳しくは Enumerable#sort_by の項目を参照してください。

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

//emlist[例][ruby]{
%w(rhea kea flea).sort # => ["flea", "kea", "rhea"]
(1..10).sort { |a, b| b <=> a } # => [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
//}

@see Enumerable#sort_by...

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

ブロックの評価結果を <=> メソッドで比較することで、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 を使わない...
...れます。
従って downcase の実行速度が遅ければ sort の速度が致命的に低下します。

//emlist[][ruby]{
p ["BAR", "FOO", "bar", "foo"].sort {|a, b| a.downcase <=> b.downcase }
//}

一方、次のように sort_by を使うと downcase の実行回数は要素数と同じ...
..."BAR", "FOO", "bar", "foo"].sort_by {|v| v.downcase }
//}

以下の、実行回数の検証結果を参照してみてください。

//emlist[][ruby]{
class Integer
def count
$n += 1
self
end
end

ary = []
1.upto(1000) {|v| ary << rand(v) }

$n = 0
ary.sort {|a,b| a.count <=> b.count...

Enumerable#minmax -> [object, object] (206.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#sort...
...較を
ブロックを用いて行います。

//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#sort, Array#minmax...

Enumerable#minmax {|a, b| ... } -> [object, object] (206.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#sort...
...較を
ブロックを用いて行います。

//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#sort, Array#minmax...

絞り込み条件を変える

Benchmark.#bmbm(width = 0) {|job| ... } -> [Benchmark::Tms] (148.0)

Benchmark::Job オブジェクトを生成して、それを引数として与えられたブロックを 実行します。

...Benchmark::Job オブジェクトを生成して、それを引数として与えられたブロックを
実行します。

ベンチマークの結果は GC の影響によって歪められてしまうことがあります。
このメソッドは与えられたブロックを二度実行する...
...0000).map { rand }

Benchmark.bmbm do |x|
x.report("sort!") { array.dup.sort! }
x.report("sort") { array.dup.sort }
end

#=>
#
# Rehearsal -----------------------------------------
# sort! 11.928000 0.010000 11.938000 ( 12.756000)
# sort 13.048000 0.020000 13.068000 ( 13.857000)
# ---...
...---------------------------- total: 25.006000sec
#
# user system total real
# sort! 12.959000 0.010000 12.969000 ( 13.793000)
# sort 12.007000 0.000000 12.007000 ( 12.791000)
//}...

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

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

...する場合、どの要素を返すかは不定です。

Enumerable#minmax と Enumerable#minmax_by の
違いは sort sort_by の違いと同じです。
詳細は Enumerable#sort_by を参照してください。

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

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

ブロックを省略した場合は Enumerator を返します。

@see Enumerable#sort_by...

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

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

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

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

ブロックを省略した場合は Enumerator を返します。

@param n 取得する要素数。

//em...
...***
# **************************************************************
# ****************************************************
# ***************************************
# ***************************
# ******************
# ***********
# *******
# ***
# *
//}

@see Enumerable#sort_by...

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

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

...す。

ブロックを省略した場合は Enumerator を返します。

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

@param n 取得する要素数。

//emlist[例][ruby]{
a = %w(albatross dog horse)
a.min_by...
...# => #<Enumerator: ["albatross", "dog", "horse"]:min_by>
a.min_by { |x| x.length } # => "dog"
a.min_by(2) # => #<Enumerator: ["albatross", "dog", "horse"]:min_by(2)>
a.min_by(2) {|x| x.length } # => ["dog", "horse"]
//}

@see Enumerable#sort_by...
<< 1 2 > >>