2013-06-20 3 views
0

하고,이 부분에서 문제가 발생하여 'Happy Monday, it's the 130 day of 2013'. 여기에 내 현재 프로그램입니다 :100 분의 루비, 내가 백분</em> 웹 사이트에 <em>루비를하고있다 good_morning 방법

class PersonalChef 
def good_morning 
    date = Time.new 
    today = Time("%A") 
    day_of_year = Time.yday 
    this_year = Time("%Y") 
    puts "Happy " + "#{today}" + "! It is the " + "#{day_of_year}" + " day of the year" + "#{this_year}" 
    return self 
end 
def make_toast(color) 
    puts "Making your toast #{color}!" 
    return self 
end 
def make_milkshake(flavor) 
    puts "Don\'t worry boss, my #{flavor} milkshake brings all the boys to the yard!" 
    return self 
end 
def make_eggs(quantity) 
    puts "Making you #{quantity} eggs sir!" 
    return self 
end 
end 

하지만 난 등 IRB (load 'personal_chef.rb', frank = PersonalChef.new, frank.make_milkshake('chocolate')를 통해 프로그램을 실행할 때 다음과 같은 오류 메시지를 제공 IRB에 frank.good_morning를 입력하려고 할 때까지, 모든 것이 잘 작동

"NoMethodError: undefined method Time' for #<PersonalChef:0x00000001b61808> from personal_chef.rb:4:in good_morning' from (irb):3 from /usr/bin/irb:12:in `'

Time 대신 Date 메서드를 사용하여 시도했지만 동일한 문제가 발생했습니다.

감사합니다. 도움이 될만한 조언을 보내 주셔서 감사합니다! e는이 문제를 해결하는 데 도움이되는 정보입니다. 알려주세요.

답변

3

today = Time("%A") 

Time가 사용하는 코드의 라인은 class 오류를 설명하는 메소드 호출 등. 시간 개체에서 요일과 연도를 추출하려고 시도하지만 형식 문자열을 Time으로 전달하는 것은 방법이 아닙니다.

strftime 메서드를 찾고 있습니다.

예 :

>> today = Time.new() 
=> 2013-06-19 21:58:34 -0700 
>> today.strftime("%A") 
=> "Wednesday" 
>> today.strftime("%j") 
=> "170" 

수요일, 올해의 170 일.

+0

고맙습니다. 레이! 당신은 다 'B! – user2328042