るりまサーチ

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

別のキーワード

  1. _builtin raise
  2. kernel raise
  3. fiber raise
  4. thread raise
  5. e2mmap raise

ライブラリ

モジュール

キーワード

検索結果

TSort#tsort_each -> Enumerator (18260.0)

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

...obj.tsort_each は obj.tsort.each と似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。

tsort_each
は nil を返します。
閉路が存在するとき、例外 TSort::Cyclic を起こします。

@raise 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 (18260.0)

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

...obj.tsort_each は obj.tsort.each と似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。

tsort_each
は nil を返します。
閉路が存在するとき、例外 TSort::Cyclic を起こします。

@raise 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(each_node, each_child) -> Enumerator (18220.0)

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

...指定します。

@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) }
TSort.tsort_each(each_node, each_child...
...) {|n| p n }
# => 4
# 2
# 3
# 1
//}

@see TSort#tsort_each...

TSort.tsort_each(each_node, each_child) {|node| ...} -> nil (18220.0)

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

...指定します。

@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) }
TSort.tsort_each(each_node, each_child...
...) {|n| p n }
# => 4
# 2
# 3
# 1
//}

@see TSort#tsort_each...

TSort#tsort_each_child(node) {|child| ...} -> () (6213.0)

TSort で拡張されるクラスで定義されていなければならないメソッドです。

...で拡張されるクラスで定義されていなければならないメソッドです。

tsort_each
_child is used to iterate for child nodes of node.

@param node ノードを指定します。

@raise NotImplementedError TSort で拡張されるクラスで定義されていない場合発生...

絞り込み条件を変える

TSort#tsort_each_node {|node| ...} -> () (6213.0)

TSort で拡張されるクラスで定義されていなければならないメソッドです。

...TSort で拡張されるクラスで定義されていなければならないメソッドです。

tsort_each
_node is used to iterate for all nodes over a graph.

@raise NotImplementedError TSort で拡張されるクラスで定義されていない場合発生します。...

TSort#tsort -> Array (118.0)

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

...たず、最後の要素は親を持ちません。

@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...

NEWS for Ruby 2.1.0 (84.0)

NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...は参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 2.0.0 以降の変更

=== 言語仕様の変更

* キーワード引数のデフォルト値...
...換します。

* Exception
* 追加: Exception#cause 一つ前の例外を新しい例外を返します。
例外を rescue して raise しなおしたときに元の例外が一つ前の例外としてセットされています。

* GC
* 改良: RGenGC として知られて...
...抜けるための例外はブロック内部で rescue されなくなりました。

* tsort
* 追加: TSort#tsort
* 追加: TSort#tsort_each
* 追加: TSort#strongly_connected_components
* 追加: TSort#each_strongly_connected_component
* 追加: TSort#each_strongly_connect...

tsort (30.0)

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], 2=>[3], 3=>[], 4=>[]}.tsort
#=> [3, 2, 1, 4]

{1=>[2], 2...
...def build(target)
each_strongly_connected_component_from(target) {|ns|
if ns.length != 1
fs = ns.delete_if {|n| Array === n}
raise
TSort::Cyclic.new("cyclic dependencies: #{fs.join ', '}")
end
n = ns.first
if Array === n
outputs, inputs, block = n...
...分に関するアルゴリズムを使っているからです。
とはいえ strongly_connected_components という正確な名前は長過ぎます。

=== References
R. E. Tarjan,
Depth First Search and Linear Graph Algorithms,
SIAM Journal on Computing, Vol. 1, No. 2, pp. 146-160, June 1972....