roman numerals

Gepubliceerd op: 9.XI.2005 07:13 CET
Categorieën: ruby
class Fixnum
  @@ROMAN_DIGITS = [
      [1000, 'M'], [900, 'CM'], [500, 'D'], [400, 'CD'],
      [100, 'C'], [90, 'XC'], [50, 'L'], [40, 'XL'],
      [10, 'X'], [9, 'IX'], [5, 'V'], [4, 'IV'],
      [1, 'I']
  ]

  def to_roman
    raise "#{self} out of range (1 - 3999)" if self <= 0 || self >= 4000

    result, rest = '', self
    @@ROMAN_DIGITS.each { |n,t| result << t and rest -= n while rest >= n }
    result
  end
end

En nu kan je 1972.to_roman gebruiken in je code! Yay! Ik hou van ruby en ruby houdt van mij!