如何使用实例变量在 ruby 中包含/需要/加载文件
我想将一个大的变量定义放在一个单独的文件中,以免妨碍它。但我一定做错了什么,因为我的 puts 调用没有输出任何内容。
my_class.rb:
class foobar
def initialize
require 'datafile.rb'
puts @fat_data
end
end
datafile.rb:
@fat_data = [1,2,3,4,5,6,7,8,9,10]
你可以这样使用 require 吗?
I would like to put a large variable definition in a separate file for the sake of getting it out of the way. I must be doing something wrong though, because my puts
call isn't putting anything out.
my_class.rb:
class foobar
def initialize
require 'datafile.rb'
puts @fat_data
end
end
datafile.rb:
@fat_data = [1,2,3,4,5,6,7,8,9,10]
Can you use require this way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以执行以下操作:
my_class.rb:
datafile.rb:
或者,也许将
datafile.rb
中的class Foobar
更改为module MyData
然后将该模块包含到my_class.rb
中的Foobar
类。You can do something like this:
my_class.rb:
datafile.rb:
Or, perhaps, change
class Foobar
indatafile.rb
tomodule MyData
and then include the module toFoobar
class inmy_class.rb
.如果您只想从类定义中获取数据,您还可以使用 __END__ 和 DATA:
无用的 Ruby 技巧:DATA 和 __END__
If you just want to get the data out of the class definition, you could also use __END__ and DATA:
Useless Ruby Tricks: DATA and __END__