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 放入模块中以要求它。