我在JumpStart实验室网站上用100分钟做了Ruby,在第5部分遇到了问题。
我被要求创建一个good_morning方法,打印出一个问候语,例如“Happy Monday,这是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>'
非常感谢帮助我解决此问题的任何帮助或信息。 谢谢你的时间!
答案 0 :(得分:3)
错误是因为您没有要求'日期'库。因此,当您的代码执行good_morning方法时,它不知道Ruby的Date类。因此,在该范围内,它试图找到一个也不存在的PersonalChef :: Date类。
将以下内容添加到文件顶部,它应该可以工作:
require 'date'