我想进入Ruby / Rake。我认为在一个名为configuration的文件中将一些配置从Rakefile中分离出来是个好主意。该文件包含以下内容:
email="nobody@nowhere.com"
password="somepassword"
proxy_server="someproxy.com:8080"
puts "config loaded"
然后在我的Rakefile中,我按
加载配置文件load 'configuration'
并使用稍后定义的变量,例如:
task :dummy do
sh = "echo #{proxy_server}"
end
但后来我收到一条错误,指出该变量未定义:
rake aborted!
undefined local variable or method `proxy_server' for #<Object:0xb783595c>
如何访问配置文件中定义的配置变量?
答案 0 :(得分:1)
可见性:配置文件中的变量在执行它的脚本中不可见。你需要建立一个共同的上下文,例如使用全局变量(即使全局变量是邪恶的:-)),如:
$proxy_server="someproxy.com:8080"
然后
task :dummy do
sh = "echo #{$proxy_server}"
end
但是由于rake文件本身就是Ruby,为什么要首先使用单独的配置文件?如果您需要更改配置,您也可以编辑rake文件。