func roman2arabic(digit) { digit.uc.trans([ :M: '1000+', :CM: '900+', :D: '500+', :CD: '400+', :C: '100+', :XC: '90+', :L: '50+', :XL: '40+', :X: '10+', :IX: '9+', :V: '5+', :IV: '4+', :I: '1+', ]).split('+').map{.to_i}.sum; }   %w(MCMXC MMVIII MDCLXVI).each { |roman_num| say "#{roman_num}\t-> #{roman2arabic(roman_num)}"; }