@Panda_Code
Сognizer

Почему выдает nil?

Добрый день!
Упражняюсь в ООП. Вот, решил получить значение ключа, но мне выдает nil:
# frozen_string_literal: true

require 'json'
require 'net/http'

class Forex
  @@response = Net::HTTP.get_response(URI.parse('https://openexchangerates.org/api/latest.json?app_id=74d160e9151c48fbafa8c5487546886d'))
  @@response_body = @@response.body
  @@result = JSON.parse(@@response_body, :symbolize_names => true)
  
  attr_reader :cash, :face_value 

  def cash=(value)
    @cash = value
  end


  def read
    p @@result[:rates][:@cash]
  end
end

money = Forex.new
money.cash = 'RUB'
money.read

Если поставить вместо [:cash] - RUB, то все работает! Как мне исправить? Могу ли я использовать переменные, чтобы получит результат? Заранее спасибо!
  • Вопрос задан
  • 42 просмотра
Решения вопроса 1
oh_shi
@oh_shi
p @@result[:rates][@cash.to_sym]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы