#!/usr/bin/ruby
var file = DATA
var names = file.get.words
var matches = Hash()
var sets = Hash()
file.lines.each { |line|
line.chomp!
var (pairing, result) = line.split(/\h+\|\h+/)...
var (p1, p2) = pairing.words...
var (r1, r2) = result.split(':')...
sets{p1} := 0 += r1.to_num
sets{p2} := 0 += r2.to_num
matches{r1 > r2 ? p1 : p2} := 0 ++
}
var sorted = names.sort{|a,b| sets{a} <=> sets{b}} \
.sort{|a,b| matches{a} <=> matches{b}} \
.reverse
sorted.each { |n|
say "#{n} has won #{matches{n}} matches and #{sets{n}} sets"
}
__END__
Beth Ana Charlie Dave
Ana Dave | 3:0
Charlie Beth | 3:1
Ana Beth | 2:3
Dave Charlie | 3:0
Ana Charlie | 3:1
Beth Dave | 0:3