如何访问包含文件中定义的变量?
# inc.rb
foo = "bar";
# main.rb
require 'inc.rb'
puts foo
# NameError: undefined local variable or method `foo' for main:Object
最佳答案
您无法访问其定义范围之外的本地文件——在本例中为文件。如果您想要跨文件边界的变量,请将它们设为局部变量。 $foo
、Foo
和 @foo
都可以。
如果你真的不想在符号上放置任何类型的装饰(可能因为你不喜欢它的读法),一个常见的 hack 就是将它定义为一个方法: def foo() "bar"end
.
关于ruby - 从 Ruby 中包含的文件访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2854026/