Ралица обнови решението на 15.10.2016 21:08 (преди около 8 години)
Можеш ли да се сетиш как да направиш сметките на две стъпки? Така, че да не ти се налага да влагаш case-ове?
Може с лека промяна на алгоритъма да направиш така, че да имаш вместо вложени условия - две последователни. Така си спестяваш много писане и можеш да изкараш два помощни метода, които тук само да извикваш. :)
Тук много полезни биха били Hash-ове с key => value двойките "substance" => temperature, и да достъпиш точно температурата на веществото, което ти трябва, вместо да имаш case/when/when/when
. Така ще можеш да си достъпиш температурата на топене само по името на веществото и да я подадеш като аргумент на convert_between_temperature_units
.
За целите на тази задача не е необходимо да се грижим за невалидни данни. Нещо повече, не е особено добра практика една функция да връща стойности от различни типове въз основа на конкретните си входни данни. По-добре е да връщаме nil
за момента. По-нататък в курса ще си говорим и за exception-и и техните приложения в подобни случаи. За тази задача просто считай, че входните данни винаги са верни.