1

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

(是的,我是 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

这是我的week.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

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

4

2 回答 2

2

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

  • 在您的要求中包含完整路径或相对路径:例如require './weeks.rb'
  • 在 LOAD_PATH 中包含文件的路径
  • 移动weeks.rb到已经在 LOAD_PATH 中的路径
于 2013-06-29T18:44:56.133 回答
1
require_relative 'week.rb'

也应该工作。

于 2013-06-29T18:48:33.333 回答