Стоян обнови решението на 11.10.2015 14:53 (преди около 9 години)
+def convert_to_bgn(amount, currency)
+ case currency
+ when :usd
+ amount * 1.7408
+ when :eur
+ amount * 1.9557
+ when :gbp
+ amount * 2.6415
+ else
+ raise 'Invalid currency'
+ end
+end
+
+def compare_prices(amount_left, currency_left, amount_right, currency_right)
+ to_bgn_left = convert_to_bgn(amount_left, currency_left)
+ to_bgn_right = convert_to_bgn(amount_right, currency_right)
+ (to_bgn_left - to_bgn_right).round
+end
Решението ти е счупено:
-
convert_to_bgn
трябва да закръгля резултата, пс. не забравяй, че и суми в:bgn
трябва да се закръглят - Запази обменния курс в някаква променлива и не дублирай кода за смяната на валутата.
- Прегледай за
<=>
също и за Hash-ове в Ruby, могат да ти свършат работа.