【问题标题】:My Ruby require statement is throwing errors我的 Ruby 要求语句抛出错误
【发布时间】:2013-06-29 18:38:46
【问题描述】:

我脑子里放了个屁,没有看相关的问题部分。
我的答案已经找到了。

(是的,我是 Ruby 新手。)
这是我的控制台输出的内容:

C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- Week (LoadError)
    from C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
    from main.rb:14:in `<main>'

这是我的main.rb 文件:

require 'week.rb'

class Decade
include Week

    no_of_yrs = 10

    def no_of_months
         puts Week::FIRST_DAY
         number = 10 * 12
        puts number
    end
end

d1 = Decade.new
puts Week::FIRST_DAY

Week.weeks_in_month
Week.weeks_in_year

d1.no_of_months

这是我的一周.rb:

module Week
    FIRST_DAY = "Sunday"

    def Week.weeks_in_month
        puts "You have four weeks in a month"
    end

    def Week.weeks_in_year
        puts "You have 52 weeks in a year"
    end
end

问题可能只是一些愚蠢的命名错误,但如果是的话,我还没有找到。

【问题讨论】:

  • 当。我没有查看相关问题... Herpaderp。

标签: ruby require


【解决方案1】:

Ruby 在$LOAD_PATH 环境变量中的目录中查找您的require 模块。如果它不在那里,它会发出尖叫声。你可以做一些不同的事情来修复它:

  • 在您的要求中包含完整路径或相对路径:例如require './weeks.rb'
  • 在 LOAD_PATH 中包含文件的路径
  • weeks.rb 移动到已经在 LOAD_PATH 中的路径中

【讨论】:

  • 您能否建议如何执行LOAD_PATH中包含文件的路径
  • @Priti 如果您想为自己的 ruby​​ 库为大量 ruby​​ 程序设置一个新路径,您只会添加到 LOAD_PATH 中。您可以通过将此行放入您的 bash 配置文件或 shell 启动脚本中进行设置:set LOAD_PATH=$LOAD_PATH:/my/ruby/lib
【解决方案2】:
require_relative 'week.rb'

应该也可以。

【讨论】:

  • 感谢 Eli (+1),我忘记了 require_relative 选项 :)
猜你喜欢
  • 2015-01-05
  • 1970-01-01
  • 2020-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-01
相关资源
最近更新 更多