Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么会出现“加载错误”?_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 为什么会出现“加载错误”?

Ruby on rails 为什么会出现“加载错误”?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有两个Ruby脚本,我正在调用这些文件,我得到了一个错误 我有r1.rb和r2.rb。从r3.rb调用r1.rb和r2.rb时,出现以下错误: C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- r1 (LoadError) from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems

我有两个Ruby脚本,我正在调用这些文件,我得到了一个错误

我有r1.rb和r2.rb。从r3.rb调用r1.rb和r2.rb时,出现以下错误:

C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- r1 (LoadError)
        from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from r3.rb:1:in `<main>'
r2.rb是:

def random
    (rand(26) + 65).chr
end
r3.rb是:

require 'r1'
require 'r2'

puts random

拇指规则当您使用require时,请始终在require语句中使用path[主要是在使用windows平台时]

如果使用load,则需要放置filename.rb,但不需要传递文件路径。[首先检查需求并使用load,因为每次调用时它都在内存中加载]

我正在修改你的代码

require 'C:/PLACE YOUR FILE PATH HERE/r1'
require 'C:/PLACE YOUR FILE PATH HERE/r2'

puts random
请让我知道这是否适合你

让我再补充一点

同样的方法当你使用irb时,你必须用同样的方法

>irb
irb(main):001:0> require 'c:/rubycode/test.rb'
=> true
@jdoe是一个很好的方法

但我的错误率越来越低

irb(main):001:0> require_relative 'test'
LoadError: cannot infer basepath
        from (irb):1:in `require_relative'
        from (irb):1
        from C:/Ruby193/bin/irb:12:in `<main>'

irb(main):002:0> require_relative 'rubycode/test'
LoadError: cannot infer basepath
        from (irb):2:in `require_relative'
        from (irb):2
        from C:/Ruby193/bin/irb:12:in `<main>'

irb(main):003:0> require_relative 'c:/rubycode/test'
LoadError: cannot infer basepath
        from (irb):3:in `require_relative'
        from (irb):3
        from C:/Ruby193/bin/irb:12:in `<main>'

irb(main):004:0> require 'c:/rubycode/test'
=> true
irb(main):005:0>

你能粘贴你的代码吗,我想看看r3.rb代码,看起来你在使用window。这是我见过的包含完整路径的最糟糕的想法@jdoe-使用window的用户,为什么不在window上试用这段代码对我很有用,因为我知道它是相对的,但我不想使用它。谢谢,我不会固执己见的。我取消了我的否决票。如果作者喜欢让自己陷入“麻烦”中,那就走吧-@我把你放在我的答案里。我希望你没有任何问题。
irb(main):001:0> require_relative 'test'
LoadError: cannot infer basepath
        from (irb):1:in `require_relative'
        from (irb):1
        from C:/Ruby193/bin/irb:12:in `<main>'

irb(main):002:0> require_relative 'rubycode/test'
LoadError: cannot infer basepath
        from (irb):2:in `require_relative'
        from (irb):2
        from C:/Ruby193/bin/irb:12:in `<main>'

irb(main):003:0> require_relative 'c:/rubycode/test'
LoadError: cannot infer basepath
        from (irb):3:in `require_relative'
        from (irb):3
        from C:/Ruby193/bin/irb:12:in `<main>'

irb(main):004:0> require 'c:/rubycode/test'
=> true
irb(main):005:0>