Кристиян обнови решението на 10.10.2015 21:16 (преди около 9 години)
+def convert_to_bgn (value, currency)
+ if currency == :bgn
+ (value * 1).round(2)
+ elsif currency == :usd
+ (value * 1.7408).round(2)
+ elsif currency == :gbp
+ (value * 2.6415).round(2)
+ elsif currency == :eur
+ (value * 1.9557) .round(2)
+ end
+end
+
+
+def compare_prices(value_1, currency_1, value_2, currency_2)
+ convert_to_bgn(value_1, currency_1) <=> convert_to_bgn(value_2, currency_2)
+end
Здравей :)
Имам 1-2 коментарчета:
- Имаш две излишни празни места - на ред 1 и ред 9.
- Има много повторение на
(value * число).round(2)
. Можеш ли да се сетиш как да го направиш без да повтаряш този код? Напомням, че в Ruby всичко е израз и връща стойност - дориif
иcase
. Тоест можеш да присвоиш резултата отif
иcase
на променлива и после да го използваш. :)
Все още имаш време да предадеш ново решение :)