Elixir - динамический доступ к свойству объекта с помощью переменной - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь получить доступ к свойству объекта с помощью переменной с помощью Elixir, но когда я пытаюсь использовать x [: variable], кажется, что он не преобразовывается в переменную, а указывает, что я пытаюсь получить доступ к свойству de " переменная "

Кто-то может помочь?

  def currencyConverter({ from, to, amount }) do
    exchangeRate = currencies[:from]
    ...
  end

1 Ответ

3 голосов
/ 20 апреля 2020

Я предполагаю, что currencies - это карта, на самом деле в Elixir нет ничего, что называется объектом.

:from - это символ, совершенно не связанный с переменной from. Вы должны просто сделать currencies[from]. Вы также можете использовать Map.get/3 или Map.fetch/2 для обработки случая, когда ключ отсутствует на карте currencies.

...