require 'rgl/graphxml' require 'rgl/adjacency' require 'rgl/dot' include RGL name, nnodes, nedges = '', '', '' IO.foreach('north/Graph.log') { |line| if /name:\s*(.*)\sformat: graphml\s+nodes: (\d+)\s+edges: (\d+)/ =~ line name, nnodes, nedges = $1, $2.to_i, $3.to_i end if name && /directed: (.*)\s+acyclic: (.*)\s+.*connected: (.*)\s+biconnected: (.*)\s+/ =~ line directed, acyclic, connected, biconnected = $1, $2, $3, $4 puts [name, nnodes, nedges].join('-|-') File.open('north/' + name + '.graphml') { |file| graph = DirectedAdjacencyGraph.from_graphxml(file) puts "#{graph.num_vertices} = #{nnodes}" } end }