index グラフの勉強だけじゃなくてRubyの勉強にもなりそうなソースだなーと思ったので、メモしておく。ファイルは2つとなっていて把握しやすい。 graph.rb graph_algorithm.rb graph.rb module Graphとclass DirectedHashGraph、DirectedHashGraphを拡張したclass UndirectedHashGraphからなっている each_vertexメソッドは、グラフの各頂点に対して操作を繰り返す どういう操作かは自分でブロックを渡せる 定義はこんな感じになっている。 def each_vertex(&block) for v, n in @vertices block.call(v) end end @verticesはHashになっていて、forで回しているのは each_pair{|key, value|}