Решение на Първа задача - температура и химични елементи от Мариян Асенов
Резултати
- 6 точки от тестове
- 0 бонус точки
- 6 точки общо
- 17 успешни тест(а)
- 0 неуспешни тест(а)
Код
Лог от изпълнението
................. Finished in 0.00833 seconds 17 examples, 0 failures
История (5 версии и 8 коментара)
Мариян обнови решението на 13.10.2016 13:14 (преди около 8 години)
Мариян обнови решението на 13.10.2016 23:18 (преди около 8 години)
Мариян обнови решението на 14.10.2016 12:06 (преди около 8 години)
Това е най-странната конкатенация в Ruby, която съм виждал :) Можеш да напишеш просто formula_key = "#{from_unit}#{to_unit}"
или formula_key = from_unit + to_unit
Рационалното число 9/5, превърнато в число с плаваща запетая, е точно 1.8.
Разликата е че 1.8 се разбира от пръв поглед от някого, който чете кода, докато Rational(9, 5).to_f
изисква момент замисляне. :)
Причината да го на прсвя така е ,че пишеше в слайда на последната презентация пишеше,че е най-точния начин за делене
Така е, но в 99.983% от случаите не ни трябва толкова точност. Например, не ни интересува, че сме с 0.00000000001 по-малко от реалната стойност. Тези градуси на практика са неизмерими. Пък и не правим сложни сметки, така че грешката да може да се натрупа.
Правилно, казахме че е най-точният начин за делене. Може би не сме обърнали достатъчно внимание, обаче, че на практика точността на Float ни е предостатъчна за всичко, освен за смятане на парични транзакции. :) Нека името не те заблуждава, Float числата са по-скоро еквивалент на Double в C++. Обикновено ако тази прецизност не ни е достатъчна, минаваме по-скоро към BigDecimal.
Добрем ще го имам предвид и ще го направя по-четимо и по-просто
Табличката е доста добро решение с този подход :) Обаче, има по-добър подход, в който няма да ти се наложи да генерираш всички комбинации (с наредба). Можеш ли да се сетиш как да направиш преобразуванията на две стъпки, така че програмата сама да се сети за някои от формулите?
Аз бих изкарал този хеш в константа над функцията. Просто разделяне на кода от данните.
Табличката е доста добро решение с този подход :) Обаче, има по-добър подход, в който няма да ти се наложи да генерираш всички комбинации (с наредба). Можеш ли да се сетиш как да направиш преобразуванията на две стъпки, така че програмата сама да се сети за някои от формулите?