view scripts/ring.rb @ 169:1e696b2d3c6d

add paxos.rb paxos.dot
author akahori
date Tue, 22 Jan 2019 18:32:13 +0900
parents 77169cd8a5e8
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
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)