Решение на Първа задача - температура и химични елементи от Александър Ойнаков
Обратно към всички решения
Към профила на Александър Ойнаков
Резултати
- 6 точки от тестове
- 0 бонус точки
- 6 точки общо
- 16 успешни тест(а)
- 1 неуспешни тест(а)
Код
Лог от изпълнението
.............F...
Failures:
1) #boiling_point_of_substance knows the boiling point of ethanol
Failure/Error: expect(boiling_point_of_substance(substance, units)).to be_within(0.01).of(expected_degrees)
expected 173.084 to be within 0.01 of 173.066
# /tmp/d20161018-13513-g3ulcr/spec.rb:129:in `expect_boiling_point_of'
# /tmp/d20161018-13513-g3ulcr/spec.rb:107:in `block (2 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:7:in `block (3 levels) in <top (required)>'
# ./lib/language/ruby/run_with_timeout.rb:7:in `block (2 levels) in <top (required)>'
Finished in 0.00822 seconds
17 examples, 1 failure
Failed examples:
rspec /tmp/d20161018-13513-g3ulcr/spec.rb:104 # #boiling_point_of_substance knows the boiling point of ethanol
История (2 версии и 12 коментара)
Александър обнови решението на 16.10.2016 16:43 (преди почти 8 години)
Александър обнови решението на 16.10.2016 22:59 (преди почти 8 години)
Хубаво е да изнесеш този хеш извън функцията като константа
Просто използвай хеш с ключове стрингове вместо символи. Конвертирането е излишно:
melting_points = { "water" => 0, "ethanol" => -114, "gold" => 1064, "silver" => 961.8, "copper" => 1085 }
Някъде из коментарите на миналата версия имаше коментар, че е по-добре да се ползват символи в дадената ситуация
Ако хеша ти изглежда така:
melting_points = {"water" => {melting_point: 0}, "ethanol" => {melting_point: -114}}
има смисъл. Иначе за какво ти е да конвертираш нещото към символ като имаш възможността в Руби да използваш стрингове направо - излишно е. Следвай KISS приниципа - "Keep it Short and Simple" или "Keep it simple, stupid" (https://en.wikipedia.org/wiki/KISS_principle)
@Беатрис, абсолютно вярно :)
Ето тук има същия въпрос http://fmi.ruby.bg/tasks/1/solutions/1#comment-214
Имаш функция convert_between_temperature_units - използвай я.. не е нужно да дублираш логика
Имаш функция convert_between_temperature_units - използвай я.. не е нужно да дублираш логика