Class: Integer
- Inherits:
-
Object
- Object
- Integer
- Defined in:
- lib/to_roman.rb
Instance Method Summary collapse
Instance Method Details
#to_roman ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/to_roman.rb', line 2 def to_roman num = self return "" if num <=0 || num >= 4000 signs = ['IIII','V','XXXX','L','CCCC','D','MMMM'] roman = signs.inject("") do |mem, sign| x = sign.size+1 d = num % x num = (num - d)/x mem = sign[0,d] + mem end roman.gsub!(/DCCCC/,'CM'); roman.gsub!(/CCCC/,'CD'); roman.gsub!(/LXXXX/,'XC'); roman.gsub!(/XXXX/,'XL'); roman.gsub!(/VIIII/,'IX'); roman.gsub!(/IIII/,'IV'); roman end |