Computer >> 컴퓨터 >  >> 프로그래밍 >> Ruby

Ruby의 루프 제어 마스터하기:다시 실행, 재시도 및 다음 설명

우리는 retry에 대해 이야기했습니다. 예외 후 재시도에 대해 논의하는 동안 키워드입니다. 잘 알려지지 않은 redo 비슷하게 작동하지만 전체 블록 대신 루프 반복을 다시 실행합니다.

redo 키워드

이전 아카데미 기사에서 배운 것처럼 retry 블록의 코드 조각을 다시 시도할 수 있습니다:

 

이 예에서는 예외가 발생하기 전에 "Iteration"이라는 단어를 콘솔에 인쇄합니다. retry를 호출하는 구조 블록이 실행됩니다. 블록을 처음부터 다시 시작합니다. 이로 인해 우리 프로그램은 Iteration을 끝없이 인쇄하게 됩니다. . redo 키워드를 사용하면 루프를 사용할 때 비슷한 효과를 얻을 수 있습니다. 이는 예를 들어 반복하는 동안 다시 시도해야 하는 상황에서 유용합니다.

 

다음과 같이 인쇄됩니다:

반복 횟수가 어떻게 동일하게 유지되는지 확인하세요. 실행을 루프 시작 부분으로 되돌립니다. retry를 사용하는 이 변형 코드 완전히 동일한 출력을 인쇄합니다:

 

redo을 사용할 수 있습니다 루프에서 재시도를 구현합니다. 다음 예에는 작업 대기열이 있습니다. :success을 반환합니다. 또는 :failure . 작업이 성공할 때까지 동일한 루프 반복을 계속 다시 실행합니다.

 

next 키워드

현재 루프의 시작 부분으로 돌아가는 대신 루프의 다음 반복으로 이동하려면 next을 사용할 수 있습니다. .

 

다음과 같이 인쇄됩니다:

반복 카운터가 어떻게 계속 증가하는지 확인하세요. 대부분의 경우 next을 사용합니다. 당신이 원하는 것입니다. redo을 보세요 정확한 횟수만큼 실행되는 루프가 필요하거나 배열을 반복할 때 오류 처리가 필요한 경우.

루프에서 반복을 다시 실행하는 방법에 대해 새로운 내용을 배웠기를 바라며 이 기사(또는 AppSignal Academy 시리즈의 다른 기사)에 대해 어떻게 생각하는지 알고 싶습니다. 귀하의 생각이나 Ruby 주제에 대해 더 배우고 싶은 점이 있으시면 주저하지 마시고 알려주시기 바랍니다.

Ruby의 루프 제어 마스터하기:다시 실행, 재시도 및 다음 설명

티스 카디에

최고 기술 책임자(CTO) 겸 공동 창업자. Thijs는 인프라 작업을 위해 몇 달 동안 사라지는 경우도 있습니다. 수십억 건의 요청이 올바르게 처리되는지 확인합니다. 회사 최고의 드러머.

Thijs Cadier의 모든 기사