Class: RomanConvertor::Convertor

Inherits:
Object
  • Object
show all
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