循環小数を分数に直す@Ruby

部活の合宿で、循環小数を分数に直すのとかいい課題じゃねと誰かが言っていて、Rubyだと簡単に作れそうだったので作ってみたコード。

#!/usr/bin/ruby
require 'mathn'
case readline
when /^(-?)([0-9]+)$/
  print $1, $2.to_i, $/
when /^(-?)([0-9]*)\.([0-9]*)$/
  print $1, $2.to_i + $3.to_i / 10**$3.size, $/
when /^(-?)([0-9]*)\.([0-9]*)\[([0-9]*)\]$/
  print $1, $2.to_i + $3.to_i / 10**$3.size + $4.to_i / (10**$4.size-1), $/
end

追記間違ってたので直しました。