123456789101112131415161718192021222324 |
- #!/usr/bin/ruby
- 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)}";
- }
|