红宝石货币汇率

时间:2019-07-21 13:19:53

标签: ruby rubygems ruby-on-rails-5

以红宝石找到货币汇率

1 个答案:

答案 0 :(得分:1)

尝试类似的操作(复制这3个文件)

exchange.rb

require 'json'

module Exchange
  @rates = JSON.parse(File.read('rates.json'))

  def self.rate(date, from_currency, to_currency)
    rates = @rates[date]                     # get rates of given day
    from_to_eur = 1.0 / rates[from_currency] # convert to EUR
    from_to_eur * rates[to_currency]         # convert to target currency
  end
end

test_script.rb

require_relative 'exchange.rb'
require 'date'

target_date = Date.new(2018,12,11).to_s
puts "USD to GBP: #{Exchange.rate(target_date, 'USD', 'GBP')}"
puts "USD to JPY: #{Exchange.rate(target_date, 'PLN', 'CHF')}"
puts "DKK to CAD: #{Exchange.rate(target_date, 'PLN', 'CHF')}"

rates.json

{
  "2018-12-11": {
    "USD": 1.1379,
    "JPY": 128.75,
    "BGN": 1.9558,
    "CZK": 25.845,
    "DKK": 7.4641,
    "GBP": 0.90228,
    "HUF": 323.4,
    "PLN": 4.2983,
    "RON": 4.6557,
    "SEK": 10.297,
    "CHF": 1.1248,
    "ISK": 140.2,
    "NOK": 9.7038,
    "HRK": 7.3943,
    "RUB": 75.5225,
    "TRY": 6.1295,
    "AUD": 1.5778,
    "BRL": 4.4417,
    "CAD": 1.5239,
    "CNY": 7.8498,
    "HKD": 8.8934,
    "IDR": 16625.0,
    "ILS": 4.2691,
    "INR": 81.8215,
    "KRW": 1284.17,
    "MXN": 23.0209,
    "MYR": 4.7615,
    "NZD": 1.6526,
    "PHP": 60.009,
    "SGD": 1.5617,
    "THB": 37.317,
    "ZAR": 16.2903
  },
  "2018-12-10": {
    "USD": 1.1425,
    "JPY": 128.79,
    "BGN": 1.9558,
    "CZK": 25.866,
    "DKK": 7.4639,
    "GBP": 0.90245,
    "HUF": 323.15,
    "PLN": 4.2921,
    "RON": 4.6502,
    "SEK": 10.333,
    "CHF": 1.1295,
    "ISK": 140.0,
    "NOK": 9.6885,
    "HRK": 7.387,
    "RUB": 75.8985,
    "TRY": 6.0499,
    "AUD": 1.5842,
    "BRL": 4.4524,
    "CAD": 1.5218,
    "CNY": 7.8967,
    "HKD": 8.9283,
    "IDR": 16671.36,
    "ILS": 4.2642,
    "INR": 82.7284,
    "KRW": 1287.42,
    "MXN": 23.132,
    "MYR": 4.7671,
    "NZD": 1.6581,
    "PHP": 60.367,
    "SGD": 1.5667,
    "THB": 37.525,
    "ZAR": 16.3463
  },
  "2018-12-07": {
    "USD": 1.1371,
    "JPY": 128.36,
    "BGN": 1.9558,
    "CZK": 25.851,
    "DKK": 7.4641,
    "GBP": 0.89085,
    "HUF": 323.5,
    "PLN": 4.2895,
    "RON": 4.6485,
    "SEK": 10.2665,
    "CHF": 1.1299,
    "ISK": 139.5,
    "NOK": 9.697,
    "HRK": 7.3913,
    "RUB": 75.885,
    "TRY": 6.0619,
    "AUD": 1.5766,
    "BRL": 4.4358,
    "CAD": 1.523,
    "CNY": 7.8244,
    "HKD": 8.8866,
    "IDR": 16454.01,
    "ILS": 4.2545,
    "INR": 80.509,
    "KRW": 1278.67,
    "MXN": 23.1435,
    "MYR": 4.7372,
    "NZD": 1.6558,
    "PHP": 60.059,
    "SGD": 1.5583,
    "THB": 37.359,
    "ZAR": 16.0673
  }
}

运行test_script.rb时,您应该能够看到汇率。我希望这对您有用,但是请注意,这仅涵盖JSON情况。让我知道它是否有效,并且我必须同意@pascal_betz,将来请提供更多信息,您已尝试过什么,实际失败了或具体失败了。但是欢迎来到stackoverflow,一定要继续发布,我知道一开始它可能会令人气disc! ;)