2013-03-16 1 views
0

안녕하세요 크리스 파인즈 책의 질문에 도움이 필요합니다. 시작일과 종료 연도 사이의 윤년을 기재하십시오. 나는 다른 방법으로 그것을 보았다. 그러나 나는이 코드를 작동 시키는데 어쨌든 존재하는지 궁금해했다. 뭐가 잘못 됐어? 프로그래밍에 익숙하지 않습니다. 감사! 이 오류가 발생합니다.간단한 루비 크리스 파인 도약 년

(eval):22: (eval):22: compile error (SyntaxError) 
(eval):22: syntax error, unexpected $end, expecting kEND 

내 프로그램 :

def years(starting, ending) 
    while starting <= ending 
    while (starting % 4 == 0) && (starting % 400 == 0) 
     puts starting 
    unless starting % 100 == 0 
    end 
    starting += 1 
end 
+0

에 오신 것을 환영합니다 다음과 같이 논리의 정확성 확인하지 않고

는 코드 자체가 구성 될 것이다. 어떻게 작동하지 않는지 당신은 우리에게 말하지 않았습니다. "뭐가 잘못 됐니?" 우리에게 "잘못된"것이 무엇인지를 설명하지 않고서는 의미가 없습니다. (여기에 올바른 형식으로 코드를 작성하는 방법, 텍스트 영역의 오른쪽 상단에 도움말 버튼이 있거나 단순히 코드를 선택하고'Ctrl + K '또는 툴바 버튼을'{}'과 함께 사용하는 방법도 배워야합니다. 이미지를 4 개 이상 공백으로 들여 쓰기 할 수도 있습니다. 입력하려는 텍스트 영역 바로 아래에 글을 올리기 전에 미리 볼 수 있습니다. 속성 형식을 사용하면 더 빨리 답변을 얻을 수 있습니다.) –

답변

3

오류 메시지가 코드에서 while 루프가 end 문을 빠져 있음을 나타내는되어 돌아갑니다. 에 StackOverflow에

def years(starting, ending) 
    while starting <= ending 
    while (starting % 4 == 0) && (starting % 400 == 0) 
     puts starting unless starting % 100 == 0 
    end 
    starting += 1 
    end 
end