Анелия обнови решението на 16.10.2016 12:25 (преди около 8 години)
+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
- примерно.