Решение на Първа задача от Пламена Петрова
Към профила на Пламена Петрова
Резултати
- 5 точки от тестове
- 0 бонус точки
- 5 точки общо
- 6 успешни тест(а)
- 2 неуспешни тест(а)
Код
Лог от изпълнението
...F..F. Failures: 1) #convert_to_bgn converts bgn Failure/Error: expect(convert_to_bgn(333, :bgn)).to eq 333 expected: 333 got: 879.62 (compared using ==) # /tmp/d20151012-23382-xcftgj/spec.rb:15:in `block (2 levels) in <top (required)>' # ./lib/language/ruby/run_with_timeout.rb:5:in `block (3 levels) in <top (required)>' # ./lib/language/ruby/run_with_timeout.rb:5:in `block (2 levels) in <top (required)>' 2) #compare_prices compares usd and bgn Failure/Error: expect(compare_prices(1000, :usd, 1740.8, :bgn)).to eq 0 expected: 0 got: -1 (compared using ==) # /tmp/d20151012-23382-xcftgj/spec.rb:33:in `block (2 levels) in <top (required)>' # ./lib/language/ruby/run_with_timeout.rb:5:in `block (3 levels) in <top (required)>' # ./lib/language/ruby/run_with_timeout.rb:5:in `block (2 levels) in <top (required)>' Finished in 0.00736 seconds 8 examples, 2 failures Failed examples: rspec /tmp/d20151012-23382-xcftgj/spec.rb:14 # #convert_to_bgn converts bgn rspec /tmp/d20151012-23382-xcftgj/spec.rb:31 # #compare_prices compares usd and bgn
История (2 версии и 2 коментара)
Пламена обнови решението на 12.10.2015 17:16 (преди около 9 години)
-
a
,b
,c
, ... са лоши имена на променливи. - Не виждам смисъл от отделните хешове, съдържащи обменните курсове. Можеше да е един общ хеш, или изобщо да ги няма и да си сложиш обменния курс директно на реда с преобразуването.
- Няма нужда да обръщаш символа в низ, за да го сравняваш; може да си сравняваш символи спокойно, това им е идеята:
if currency == :usd
...
Благодаря за коментарите. В бъдеще ще се опитам да изчистя тези грешки. По повод имената на променливите - в първоначалния вариянт на решението ми бяха first/second_item_original_price и first/second_item_currency като се стремях да съм максимално описателна и кодът да е разбирем, но тогава пък думите на ред стават повече от 80. Дори и след редуциране пак беше повече. Променливите от вида price1/2 и currency1/2 не ми ги прие, защото са несъществуващи в английския език думи. a, b, c и d са резултат на отчаяние :D Но да, приемам забележката. На мен също ми изглежда грозен кодът написан така! За символите - няма да лъжа, че не го разбрах напълно на лекции :D Предполагах, че не е най-оптималното решение, но до това успях да стигна сама.