def create_nodes(node_num) (0..node_num - 1).map { |i| i = "node" + i.to_s } end def print_dot(connections) puts "digraph test {" connections.each { |connection| print "\t" print connection[0] print " -> " print connection[1] print ' [label="' + connection[2] + '"]' puts } puts "}" end node_num = ARGV[0].to_i nodes = create_nodes(node_num) connections = Array.new nodes.each_with_index { |node, i| connections << [nodes[i], nodes[(i + 1) % node_num], "right"] connections << [nodes[i], nodes[i - 1], "left"] } print_dot(connections)