Станимир обнови решението на 07.10.2015 23:35 (преди около 9 години)
+def convert_to_bgn(price, currency)
+ rate = if currency == :usd
+ 1.7408
+ elsif currency == :eur
+ 1.9557
+ elsif currency == :gbp
+ 2.6415
+ elsif currency == :bgn
+ 1.0
+ end
+ (rate * price).round(2)
+end
+
+def compare_prices(price_a, currency_a, price_b, currency_b)
+ convert_to_bgn(price_a, currency_a) <=> convert_to_bgn(price_b, currency_b)
+end
Този if
можеш да се отървеш от него, погледни за Hash-ове в Ruby. Иначе е добре. Тоест почти, при такива if-чета аз бих пренесал if currency == :usd
на нов ред и бих индентирал целия if.