るりまサーチ

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

別のキーワード

  1. openssl t61string
  2. asn1 t61string
  3. matrix t
  4. t61string new
  5. fiddle type_size_t

ライブラリ

クラス

モジュール

検索結果

<< 1 2 3 ... > >>

tsort (32126.0)

tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。

...tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。

=== Example

//emlist[][ruby]{
require 'tsort'

class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end

{1=>[2, 3],...
...=>[]}.tsort
#=> [3, 2, 1, 4]

{1=>[2], 2=>[3, 4], 3=>[2], 4=>[]}.strongly_connected_components
#=> [[4], [2, 3], [1]]
//}

=== より現実的な例

非常に単純な `make' に似たツールは以下のように実装できます。

//emlist[][ruby]{
require 'tsort'

class Make
def initialize...
...default = []
end

def rule(outputs, inputs=[], &block)
t
riple = [outputs, inputs, block]
outputs.each {|f| @dep[f] = [triple]}
@dep[triple] = inputs
end

def build(target)
each_strongly_connected_component_from(target) {|ns|
if ns.length != 1
fs = ns.delete_if {...

Array#sort -> Array (24284.0)

配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。

...配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。
sort
! は self を破壊的にソートし、self を返します。

ブロックとともに呼び出された時には、要素...
...t[例][ruby]{
ary1 = [ "d", "a", "e", "c", "b" ]
p ary1.sort #=> ["a", "b", "c", "d", "e"]

ary2 = ["9", "7", "10", "11", "8"]
p ary2.sort #=> ["10", "11", "7", "8", "9"] (文字列としてソートするとこうなる)
p ary2.sort{|a, b| a.t...
...o_i <=> b.to_i } #=> ["7", "8", "9", "10", "11"] (ブロックを使って数字としてソート)

# sort_by を使っても良い
p ary2.sort_by{|x| x.to_i } #=> ["7", "8", "9", "10", "11"]
//}

@see Enumerable#sort_by
, Array#sort_by!...

Array#sort {|a, b| ... } -> Array (24284.0)

配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。

...配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。
sort
! は self を破壊的にソートし、self を返します。

ブロックとともに呼び出された時には、要素...
...t[例][ruby]{
ary1 = [ "d", "a", "e", "c", "b" ]
p ary1.sort #=> ["a", "b", "c", "d", "e"]

ary2 = ["9", "7", "10", "11", "8"]
p ary2.sort #=> ["10", "11", "7", "8", "9"] (文字列としてソートするとこうなる)
p ary2.sort{|a, b| a.t...
...o_i <=> b.to_i } #=> ["7", "8", "9", "10", "11"] (ブロックを使って数字としてソート)

# sort_by を使っても良い
p ary2.sort_by{|x| x.to_i } #=> ["7", "8", "9", "10", "11"]
//}

@see Enumerable#sort_by
, Array#sort_by!...

Enumerable#sort -> [object] (24256.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] (24256.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...

絞り込み条件を変える

TSort#tsort_each -> Enumerator (18224.0)

TSort#tsort メソッドのイテレータ版です。 obj.tsort_each は obj.tsort.each と似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。

...
T
Sort#tsort メソッドのイテレータ版です。
obj.tsort_each は obj.tsort.each と似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。

t
sort_each は nil を返します。
閉路が存在するとき、...
... TSort::Cyclic を起こします。

@raise TSort::Cyclic 閉路が存在するとき、発生します.

//emlist[使用例][ruby]{
require 'tsort'

class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end

non_sort = {...
...1=>[2, 3], 2=>[3], 3=>[], 4=>[]}

non_sort.tsort_each {|node|
non_sort.tsort_each_child(node){|child|
printf("%d -> %d\n", node, child)
}
}

# 出力
#=> 2 -> 3
#=> 1 -> 2
#=> 1 -> 3
//}

@see TSort.tsort_each...

TSort#tsort_each {|node| ...} -> nil (18224.0)

TSort#tsort メソッドのイテレータ版です。 obj.tsort_each は obj.tsort.each と似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。

...
T
Sort#tsort メソッドのイテレータ版です。
obj.tsort_each は obj.tsort.each と似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。

t
sort_each は nil を返します。
閉路が存在するとき、...
... TSort::Cyclic を起こします。

@raise TSort::Cyclic 閉路が存在するとき、発生します.

//emlist[使用例][ruby]{
require 'tsort'

class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end

non_sort = {...
...1=>[2, 3], 2=>[3], 3=>[], 4=>[]}

non_sort.tsort_each {|node|
non_sort.tsort_each_child(node){|child|
printf("%d -> %d\n", node, child)
}
}

# 出力
#=> 2 -> 3
#=> 1 -> 2
#=> 1 -> 3
//}

@see TSort.tsort_each...

TSort#tsort -> Array (18206.0)

頂点をトポロジカルソートして得られる配列を返します。 この配列は子から親に向かってソートされています。 すなわち、最初の要素は子を持たず、最後の要素は親を持ちません。

...ise TSort::Cyclic 閉路が存在するとき、発生します。

//emlist[使用例][ruby]{
require 'tsort'

class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end

sort
ed = {1=>[2, 3], 2=>[3], 3=>[], 4=>[]}.tsort
p...
...sorted #=> [3, 2, 1, 4]
//}

@see TSort.tsort...

TSort.tsort(each_node, each_child) -> Array (18206.0)

頂点をトポロジカルソートして得られる配列を返します。 この配列は子から親に向かってソートされています。 すなわち、最初の要素は子を持たず、最後の要素は親を持ちません。

...定します。

@raise TSort::Cyclic 閉路が存在するとき、発生します。

//emlist[使用例][ruby]{
require 'tsort'

g = {1=>[2, 3], 2=>[4], 3=>[2, 4], 4=>[]}
each_node = lambda {|&b| g.each_key(&b) }
each_child = lambda {|n, &b| g[n].each(&b) }
p TSort.tsort(each_node, each_child) #...
...=> [4, 2, 3, 1]

g = {1=>[2], 2=>[3, 4], 3=>[2], 4=>[]}
each_node = lambda {|&b| g.each_key(&b) }
each_child = lambda {|n, &b| g[n].each(&b) }
p TSort.tsort(each_node, each_child) # raises TSort::Cyclic
//}

@see TSort#tsort...

TSort.tsort_each(each_node, each_child) -> Enumerator (18206.0)

TSort.tsort メソッドのイテレータ版です。

...
T
Sort.tsort メソッドのイテレータ版です。

引数 each_node と each_child でグラフを表します。

@param each_node グラフ上の頂点をそれぞれ評価するcallメソッドを持つオブ
ジェクトを指定します。

@param each_child 引数で与...
...指定します。

@raise TSort::Cyclic 閉路が存在するとき、発生します.

//emlist[使用例][ruby]{
require 'tsort'

g = {1=>[2, 3], 2=>[4], 3=>[2, 4], 4=>[]}
each_node = lambda {|&b| g.each_key(&b) }
each_child = lambda {|n, &b| g[n].each(&b) }
T
Sort.tsort_each(each_node, each_child...
...) {|n| p n }
# => 4
# 2
# 3
# 1
//}

@see TSort#tsort_each...

絞り込み条件を変える

<< 1 2 3 ... > >>