Я не уверен на 100%, как работает область видимости переменной Ruby, и у меня возникают проблемы с использованием оператора require "path.rb"
. Вот фрагмент кода, который вызывает проблему:
Файл a.rb:
a = {
:hey => "ho"
}
require "path/to/b.rb" # => true
Файл b.rb:
b = "harhar"
a[:test] = b
Область действия a.rb
находится внутри модуля :: class, а не основной глобальной области, и когда я пытаюсь получить доступ к переменной a
в b.rb
, я получаю сообщение об ошибке, говоря, что переменная a
isn ' т в текущем объеме.
Я где-то читал о том, что включенные файлы находятся в их собственной области видимости, чтобы не конфликтовать, если так, каково соглашение обойти это?