Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > tsortライブラリ > TSortモジュール > each_strongly_connected_component
each_strongly_connected_component {|nodes| ...} -> nil
[permalink][rdoc]each_strongly_connected_component -> Enumerator
TSort#strongly_connected_components メソッドのイテレータ版です。 obj.each_strongly_connected_component は obj.strongly_connected_components.each に似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。
each_strongly_connected_component は nil を返します。
使用例
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], 2=>[3, 4], 3=>[2], 4=>[]} non_sort.each_strongly_connected_component{|nodes| p nodes } #出力 #=> [4] #=> [2, 3] #=> [1]
[SEE_ALSO] TSort.each_strongly_connected_component