Кристиан обнови решението на 10.10.2015 21:06 (преди около 9 години)
+def convert_to_bgn(value, currency)
+ value_bgn = case currency
+ when :gbp then value * 2.6415
+ when :usd then value * 1.7408
+ when :eur then value * 1.9557
+ else value
+ end
+ value_bgn.round(2)
+end
+
+def compare_prices(value, currency, second_value, second_currency)
+ first_price = convert_to_bgn(value, currency)
+ second_price = convert_to_bgn(second_value, second_currency)
+ if first_price < second_price
+ rand((-1000)..(-1))
+ elsif first_price > second_price
+ rand(1..1000)
+ else
+ 0
+ end
+end
Здравей :)
- В условието пише, че трябва да се върне положително число, отрицателно число или нула. Не пише, че то трябва да е случайно. Не разбирам този
rand
какво върши тук. Целият тозиif
може да бъде заменен с един ред, използвайки оператора<=>
или (в краен случай) - просто разликата на двете цени. - Има някаква асиметрия във
value
vssecond_value
иcurrency
vssecond_currency
. Няма ли да е по-добре ако саfirst_value
иsecond_value
?
Напомням, че все още имаш време да предадеш ново решение :)