在 Ruby 中,通过IO 对象__END__
任意使用后存储静态文本非常方便:DATA
puts DATA.read # Prints "This is the stuff!"
__END__
This is the stuff!
但是,当我尝试从新类的上下文中引用 DATA 对象时,会出现意外错误(显然在 Ruby 1.9.3 和 2.0 中):
class Foo
STUFF = DATA.read # <class:Foo>: uninitialized constant Foo::DATA (NameError)
end
class Foo
STUFF = ::DATA.read # <class:Foo>: uninitialized constant DATA (NameError)
end
知道我怎样才能完成这项工作吗?