Class: RomanConvertor::Convertor
- Inherits:
-
Object
- Object
- RomanConvertor::Convertor
- Defined in:
- lib/roman_convertor.rb
Overview
Your code goes here…
Constant Summary collapse
- HASH_ROMAN =
{ "I" => 1, "IV" => 4, "V" => 5, "IX" => 9, "X" => 10, "XL" => 40, "L" => 50, "XC" => 90, "C" => 100, "CD" => 400, "D" => 500, "CM" => 900, "M" => 1000 }
Class Method Summary collapse
Class Method Details
.roman_to_decimal(number) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/roman_convertor.rb', line 8 def self.roman_to_decimal(number) roman_number = number.split("") if (roman_number- HASH_ROMAN.keys) == [] temp_array = [] extra_index =[] sum = 0 roman_number.each_with_index do |k,v| if !extra_index.include?(v) if (v < roman_number.length-1 ) and c = roman_number[v]+roman_number[v+1] and HASH_ROMAN[c] != nil temp_array << c extra_index << v+1 else temp_array << roman_number[v] end end end temp_array.each do |k| sum = sum+HASH_ROMAN[k] end else sum = "Invalid Roman Number" end return sum end |