Ruby 鲁比:我能';要求';只包含一个类的文件?
我有一个包含以下内容的文件Ruby 鲁比:我能';要求';只包含一个类的文件?,ruby,class,rspec,module,Ruby,Class,Rspec,Module,我有一个包含以下内容的文件/project/lib/invacessor.rb class InvAccessor def initialize @browser = "browser" end end 还有一个spec文件project/spec/invaccessor_spec.rb,需要它 require_relative '../lib/invaccessor' describe Invaccessor do it {expect(2).to be_even}
/project/lib/invacessor.rb
class InvAccessor
def initialize
@browser = "browser"
end
end
还有一个spec文件project/spec/invaccessor_spec.rb
,需要它
require_relative '../lib/invaccessor'
describe Invaccessor do
it {expect(2).to be_even}
end
当我运行rspec spec/invaccessor.rb
时,我得到invaccessor
的未初始化常量错误。我是否必须将所有文件内容放在一个模块中才能访问它们
我正在使用Ruby 2.2.2 是的,你可以。
在classfile.rb所在的目录中尝试以下操作:
>> require './classfile'
=> true
>> A
=> A
您绝对不必将类放入模块中来要求它。您发布的代码没有问题。您是否可以编辑您的问题以包括您的Pry会话(即您在Pry中键入的所有内容以及它提供给您的所有输出)?我已发布了我遇到问题的原始文件,并对我的操作进行了更明确的描述。很抱歉。您的课程是InvAccessor
,但您尝试引用InvAccessor
。这个名字是区分大小写的。我只是想知道:在一个问题被回答(并且答案被批准)之后,它是否可以完全改变这个问题?现在,我的答案不再适合这个问题了。你能至少把老问题包括进去吗?