Решение на Първа задача от Добромир Иванов

Обратно към всички решения

Към профила на Добромир Иванов

Резултати

  • 6 точки от тестове
  • 0 бонус точки
  • 6 точки общо
  • 8 успешни тест(а)
  • 0 неуспешни тест(а)

Код

def convert_to_bgn(price, currency)
currencies = {usd: 1.7408, eur: 1.9557, gbp: 2.6415, bgn: 1.0}
(price * currencies[currency]).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

Лог от изпълнението

........

Finished in 0.00665 seconds
8 examples, 0 failures

История (2 версии и 3 коментара)

Добромир обнови решението на 07.10.2015 23:20 (преди над 8 години)

+def convert_to_bgn(price, currency)
+ currencies = {usd: 1.7408, eur: 1.9557, gbp: 2.6415}
+ (price * currencies[currency]).round(2)
+end
+
+def compare_prices(price, currency, price_two, currency_two)
+ convert_to_bgn(price, currency) <=> convert_to_bgn(price_two, currency_two)
+end

Какво имаш предвид? В момента правя точно това - конвертирам сумите в български лева и връщам резултата от сравнението.

А за имената - първоначално ги бях наименовал точно first_price / second_price, но така се получават редове над 80 символа. price_one / price_two също не е вариант, тъй като пак се полуават над 80 символа. Затова и се задоволих само с price / price_two.

Добромир обнови решението на 11.10.2015 18:58 (преди над 8 години)

def convert_to_bgn(price, currency)
- currencies = {usd: 1.7408, eur: 1.9557, gbp: 2.6415}
+ currencies = {usd: 1.7408, eur: 1.9557, gbp: 2.6415, bgn: 1.0}
(price * currencies[currency]).round(2)
end
-def compare_prices(price, currency, price_two, currency_two)
- convert_to_bgn(price, currency) <=> convert_to_bgn(price_two, currency_two)
+def compare_prices(price_a, currency_a, price_b, currency_b)
-end
+ convert_to_bgn(price_a, currency_a) <=> convert_to_bgn(price_b, currency_b)
+end