Ruby:我可以 'require' 一个只包含 class 的文件吗?
Ruby: Can I 'require' a file which contains only a class?
我有一个文件/project/lib/invaccessor.rb
,内容如下
class InvAccessor
def initialize
@browser = "browser"
end
end
和一个需要它的规范文件project/spec/invaccessor_spec.rb
require_relative '../lib/invaccessor'
describe Invaccessor do
it {expect(2).to be_even}
end
当我 运行 rspec spec/invaccessor.rb
我得到 uninitialized constant error
Invaccessor
。我是否必须将所有文件内容放在一个模块中才能访问它们?
我正在使用 Ruby 2.2.2。
是的,你可以。
在 classfile.rb 所在的目录中尝试此操作:
>> require './classfile'
=> true
>> A
=> A
您绝对不必将 class 放入模块中以要求它。
我有一个文件/project/lib/invaccessor.rb
,内容如下
class InvAccessor
def initialize
@browser = "browser"
end
end
和一个需要它的规范文件project/spec/invaccessor_spec.rb
require_relative '../lib/invaccessor'
describe Invaccessor do
it {expect(2).to be_even}
end
当我 运行 rspec spec/invaccessor.rb
我得到 uninitialized constant error
Invaccessor
。我是否必须将所有文件内容放在一个模块中才能访问它们?
我正在使用 Ruby 2.2.2。
是的,你可以。 在 classfile.rb 所在的目录中尝试此操作:
>> require './classfile'
=> true
>> A
=> A
您绝对不必将 class 放入模块中以要求它。