Mercurial > hg > Members > sugi > javafx
view scripts/topology/treen.rb @ 31:5598fa745a51
refactor
author | sugi |
---|---|
date | Tue, 05 Nov 2013 20:19:30 +0900 |
parents | 26e1da66ffe1 |
children |
line wrap: on
line source
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 child_num = ARGV[1].to_i nodes = create_nodes(node_num) connections = Array.new nodes.each_with_index { |node, i| child1 = child_num * i + 1 if child1 >= node_num then nodes[i] = "cli" + i.to_s end } nodes.each_with_index { |node, i| parent = (i - 1) / child_num; child = Array.new for n in 1..child_num child[n] = child_num * i + n end if parent >= 0 then connections << [nodes[i], nodes[parent], "parent"] end for n in 1..child_num if child[n] < node_num then connections << [nodes[i], nodes[child[n]], "child"+(n-1).to_s] end end } print_dot(connections)