Решение на Първа задача от Кристъфър Коруев

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

Към профила на Кристъфър Коруев

Резултати

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

Код

def convert_to_bgn(price, currency)
exchange_rates = {usd: 1.7408,
eur: 1.9557,
gbp: 2.6415,
bgn: 1 }
(exchange_rates[currency] * price).round(2)
end
def compare_prices(price_1, currency_1, price_2, currency_2)
convert_to_bgn(price_1, currency_1) - convert_to_bgn(price_2, currency_2)
end

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

........

Finished in 0.00637 seconds
8 examples, 0 failures

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

Кристъфър обнови решението на 10.10.2015 17:57 (преди над 9 години)

+def convert_to_bgn( price, currency )
+ all_currencies = { :usd => 1.7408,
+ :eur => 1.9557,
+ :gbp => 2.6415,
+ :bgn => 1 }
+ ( all_currencies[currency] * price ).round( 2 )
+end
+
+
+def compare_prices( price_1, currency_1, price_2, currency_2)
+
+ convert_to_bgn( price_1, currency_1 ) - convert_to_bgn( price_2, currency_2 )
+
+end

Здравей :)

Решението ти е добро от функционална гледна точка, но имам някои стилови коментари:

  • Прочети отново ръководството ни по стил. Тези празни места около скобите не са съобразени с него. Същото важи и за празните редове в compare_prices.
  • Помисли дали има по-добро име за хеша с валутните курсове от all_currencies :)
  • Хешът може да бъде записан по-кратко по следния начин: {usd: 1.7408, eur: 1.9557, ...}. Това е съкратен запис за хеш с ключове символи.

Напомням, че до крайния срок можеш да ни изпращаш колкото искаш решения. :)

Кристъфър обнови решението на 11.10.2015 23:01 (преди над 9 години)

-def convert_to_bgn( price, currency )
- all_currencies = { :usd => 1.7408,
- :eur => 1.9557,
- :gbp => 2.6415,
- :bgn => 1 }
- ( all_currencies[currency] * price ).round( 2 )
+def convert_to_bgn(price, currency)
+ currencies_mapping = {:usd => 1.7408,
+ :eur => 1.9557,
+ :gbp => 2.6415,
+ :bgn => 1 }
+ (currencies_mapping[currency] * price).round(2)
end
-def compare_prices( price_1, currency_1, price_2, currency_2)
-
+def compare_prices(price_1, currency_1, price_2, currency_2)
- convert_to_bgn( price_1, currency_1 ) - convert_to_bgn( price_2, currency_2 )
+ convert_to_bgn(price_1, currency_1) - convert_to_bgn(price_2, currency_2)
-
+end
-end

Кристъфър обнови решението на 12.10.2015 00:08 (преди над 9 години)

def convert_to_bgn(price, currency)
- currencies_mapping = {:usd => 1.7408,
- :eur => 1.9557,
- :gbp => 2.6415,
- :bgn => 1 }
- (currencies_mapping[currency] * price).round(2)
+ exchange_rates = {usd: 1.7408,
+ eur: 1.9557,
+ gbp: 2.6415,
+ bgn: 1 }
+ (exchange_rates[currency] * price).round(2)
end
def compare_prices(price_1, currency_1, price_2, currency_2)
convert_to_bgn(price_1, currency_1) - convert_to_bgn(price_2, currency_2)
end