【问题标题】:ruby in 100 minutes good_morning method issueruby in 100 minutes good_morning 方法问题
【发布时间】:2013-06-26 22:10:19
【问题描述】:

我在 JumpStart 实验室网站上用 100 分钟完成了 Ruby,在第 5 部分中遇到了问题。

我被要求创建一个 good_morning 方法来打印诸如“周一快乐,2013 年第 130 天”之类的问候语。这是我当前的程序:

class PersonalChef

    def good_morning

        today = Date.today.strftime("%A")
        day_of_year = Date.today.yday
        puts "Happy#{today}! It is the #{day_of_year} day of year."
        return self
            end

    def make_toast(color)
        puts " Making your toast #{color}!"
        return self
       end
    def make_milkshake(flavor)
        puts " Making a #{flavor} milkshake!"
        return self
       end

    def make_eggs(quantity)
        puts " Making you #{quantity} eggs!"
        return self
            end 
            end

当我尝试在 irb('personal_chef.rb', frank = PersonalChef.new, frank.make_milkshake('chocolate') 等上运行程序加载时,一切正常,直到我尝试将 frank.good_morning 输入到 irb ,它会给出以下错误消息:

NameError: **uninitialized constant** PersonalChef :: Date 
     from personal_chef.rb:5: in good_morning from (irb):3 from /bin/irb:12:in '<main>'

任何帮助我解决此问题的帮助或信息将不胜感激。 感谢您的宝贵时间!

【问题讨论】:

  • 我已经为您突出显示了错误消息的重要部分。
  • 哇,真快。我对此很陌生,所以我不知道这到底是什么意思......如何初始化一个常量?

标签: ruby constants irb initialization


【解决方案1】:

错误是因为您不需要“日期”库。因此,当您的代码执行 good_morning 方法时,它不知道 Ruby 的 Date 类。所以在那个范围内,它试图找到一个也不存在的 PersonalChef::Date 类。

将以下内容添加到文件顶部,它应该可以工作:

require 'date'

【讨论】:

  • 谢谢菲利普!做到了。
猜你喜欢
  • 1970-01-01
  • 2011-12-15
  • 2011-07-05
  • 1970-01-01
  • 1970-01-01
  • 2011-07-11
  • 1970-01-01
  • 1970-01-01
  • 2022-12-27
相关资源
最近更新 更多