Skip to content

Instantly share code, notes, and snippets.

@Slesa
Created July 31, 2011 15:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Slesa/1116866 to your computer and use it in GitHub Desktop.
Save Slesa/1116866 to your computer and use it in GitHub Desktop.
Roman numbers with ruby
class Roman
»···def self.method_missing name, *args
»···»···roman = name.to_s
»···»···roman.gsub!("IV", "IIII")
»···»···roman.gsub!("IX", "VIIII")
»···»···roman.gsub!("XL", "XXXX")
»···»···roman.gsub!("XC", "LXXXX")
»···»···roman.gsub!("CD", "CCCC")
»···»···roman.gsub!("CM", "DCCCC")
»···»···(roman.count("I")+
»···»··· roman.count("V")*5 +
»···»··· roman.count("X")*10 +
»···»··· roman.count("L")*50 +
»···»··· roman.count("C")*100) +
»···»··· roman.count("D")*500 +
»···»··· roman.count("M")*1000
»···end
end
puts Roman.X
puts Roman.XC
puts Roman.XXII
puts Roman.MCMXCIX
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment