るりまサーチ

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

別のキーワード

  1. tsort tsort_each
  2. tsort each_strongly_connected_component
  3. tsort each_strongly_connected_component_from
  4. tsort tsort
  5. tsort strongly_connected_components

ライブラリ

モジュール

キーワード

検索結果

<< 1 2 > >>

TSort#tsort_each -> Enumerator (18160.0)

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

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

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

@raise TSort...
...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 (18160.0)

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

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

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

@raise TSort...
...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(each_node, each_child) -> Enumerator (18120.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 (18120.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| ...} -> () (6113.0)

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

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

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

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

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

絞り込み条件を変える

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

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

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

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

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

tsort (24.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...
...s_time
sleep 1 if inputs_time != nil && inputs_time.to_i == Time.now.to_i
block.call
end
end
}
end

def tsort_each_child(node, &block)
@dep[node].each(&block)
end
include TSort
end

def command(arg)
print arg, "\n"
system arg
end

m = Make.new
m....

TSort#tsort -> Array (18.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 (12.0)

NEWS for Ruby 2.1.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...
<< 1 2 > >>