アナグラムで字句を解析してみる

文字でsplitしてソートしたものををキーにしてハッシュを作ってごにょごにょ
物事をどう分けて処理するかって事ですね。
あ、プログラミングっぽい。
おもしろくなってきました。

#! /cygdrive/c/ruby/bin/ruby
anahash = Hash.new
open(ARGV.shift){|io|
  while line = io.gets
    line.chomp!
    ke = line.split(//).sort.join
    if(!anahash.key?(ke))
      anahash[ke] = []
      anahash[ke].push(line)
    else
      anahash[ke].push(line)
    end
  end		
}

anahash.keys.sort.each{|k|
  print k," : ",anahash[k].join(" "),"\n"
}