Рубин: неинициализированная константа - PullRequest
1 голос
/ 07 марта 2019

Я не знаю, что мне здесь не хватает, я не могу вызвать функцию внутри другой функции в ruby ​​

Пример:

def test()
  puts WB_A
end

# Top level components
def WB_A
  {
    'A'            => 'Apple',
  }
end

test()

Результат:

main.rb: 2: in test': uninitialized constant WB_A (NameError) from main.rb:12:in '

Пожалуйста, дайте мне знать, в чем ошибка

1 Ответ

2 голосов
/ 07 марта 2019

Из Руководство пользователя Ruby :

Имя константы начинается с символа в верхнем регистре.
Ей должно быть присвоено значение не более одного раза.

Просто перейдите в нижний регистр, он будет работать:

def test()
  puts wb_a
end

# Top level components
def wb_a
  {
    'A'            => 'Apple',
  }
end

test()
#=> {"A"=>"Apple"}

Или, если хотите, wB_A тоже работает, но не рекомендуется, посмотрите комментарий Тадмана ниже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...