Анелия обнови решението на 16.10.2016 12:25 (преди около 9 години)
+def convert_between_temperature_units(temp, src, dest)
Използвай пълни имена, няма смисъл от съкращения - temperature, from, to - примерно.
+  if src == 'C' && dest == 'F' 
+    temp * 1.8 + 32.0
+  elsif src == 'C' && dest == 'K' 
+    temp + 273.15
+  elsif src == 'F' && dest == 'C'
+    (temp - 32.0) / 1.8
+  elsif src == 'F' && dest == 'K' 
+    temp + 255.37
+  elsif src == 'K' && dest == 'C'
+    temp - 273.15
+  elsif src == 'K' && dest == 'F' 
+    temp - 459.67
+  else 
+    temp
+  end
+end
+
+def melting_point_of_substance(substance, scale)
+  if substance == 'water' 
+    convert_between_temperature_units(0, 'C', scale)
+  elsif substance == 'ethanol'
+    convert_between_temperature_units(-114, 'C', scale)
+  elsif substance == 'gold' 
+    convert_between_temperature_units(1064, 'C', scale)
+  elsif substance == 'silver'
+    convert_between_temperature_units(961.8, 'C', scale)
+  else 
+    convert_between_temperature_units(1085, 'C', scale)
+  end
+end
+
+def boiling_point_of_substance(substance, scale)
+  if substance == 'water' 
+    convert_between_temperature_units(100, 'C', scale)
+  elsif substance == 'ethanol'
+    convert_between_temperature_units(78.37, 'C', scale)
+  elsif substance == 'gold' 
+    convert_between_temperature_units(2700, 'C', scale)
+  elsif substance == 'silver'
+    convert_between_temperature_units(2162, 'C', scale)
+  else 
+    convert_between_temperature_units(2567, 'C', scale)
+  end
+end
Погледни последната лекция за Hash-ове и виж дали не могат да ти помогнат да си опростиш решението.

Използвай пълни имена, няма смисъл от съкращения -
temperature,from,to- примерно.