То, что я пытаюсь сделать в Ruby, эквивалентно выражению PHP include или require.
В PHP, когда вы включаете или запрашиваете файл, любой код PHP во включаемом файле выполняется и глобально.переменные в области видимости могут использоваться в файле, в котором находится include.
В Ruby у меня есть этот код;
# include file snippet
config = {'base_url' => 'http://devtest.com/'}
# main file
Dir.foreach(BASE_ROOT_PATH + 'config') do |file|
if !(file == '.' || file == '..')
filepath = BASE_ROOT_PATH + 'config/' + file
load filepath
end
end
config.inspect
Проблема, с которой я сталкиваюсь, заключается в том, что при запуске основного файла, он всегда выдает ошибку с этой ошибкой;
/home/skittles/devtest/bootstrap.rb:24:in `<top (required)>': undefined local variable or method `config' for main:Object (NameError)
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:29:in `require'
from index.rb:27:in `<main>'
Я знаю, что он вытягивает файл, потому что он не выдает никаких ошибок.Я попытался загрузить и потребовать, оба с той же ошибкой.Я попытался config.inspect и поместил config, все та же ошибка.
Это похоже на то, что включенный файл не выполняет код внутри него.Это то, что происходит, или я просто делаю что-то не так?
Спасибо