Repeat의 이용

여러분 모두 안녕하세요. 이번 6월은 매우 더운데 다들 지치시지는 않는지 걱정이네요. 오늘 여러분께 드릴 팁은 조건식에 따라서 반복할 수 있는 반복문 REPEAT입니다. for문을 이용해서 반복문을 이용하는게 가장 안정적이지만, 그래도 반복횟수는 모르는데 반복의 조건을 알고있다면, REPEAT문이 더욱 유용하게 쓰일 겁니다. C언어에서는 while문 같은 구문입니다. 우선 간단히 보자면,

간단히 구성을 보자면, 기본적으로 ‘repeat’는 ‘until expression‘ 을 가지고 다닙니다. 조건이 참이 될 때까지 반복을 하게 되는 것이죠. while문이 참인경우에 반복하는 거와는 반대라는 점은 C계열의 언어를 사용하신 분들께는 조금 주의를 요하는 점이겠지요.

저기에서는 한줄로 표현되어있지만, &를 이용해서 여러줄을 표현한 관계로 begin과 endrep도 들어갔는데요. 이는 다른 반복문이나 조건문에서도 이용됩니다. 포트란에서 왔다고 하는데, C계열에서는 주로 {}같은 괄호를 생각할 수 있는 것입니다. 프로시저나 함수가 끝날 때 end 구문이 들어가므로, 반복문과 조건문에서는 end대신에 endrep가 들어갔다는 점을 유의해 주세요. (if에서는 endif, for에서는 endfor등으로 이용됩니다.)

아차 이러한 함수의 경우 다음과 같이 for문과 if문 그리고 break의 조합으로도 변환이 가능합니다.

일정한 반복횟수가 중요하다면, 이러한 구문도 이용할 수도 있으리라 생각합니다. 이것은 여러분이 조건에 따라서 더 맞는 것을 이용하면 되는 것이지요.

여기에서 모르시는 분들을 위한 추가적인 이야기를 하자면, &표시의 경우 줄을 넘기라는 표시입니다. 첫번째에 있는 repeat문의 경우 실제 표현되는 방식은

인 것이지요. 또한 이것과 반대의 경우는 $표시인데 다음줄에 있는 것도 한줄로 읽도록 하는 것입니다. 이것은

으로 보시면 됩니다. 이런걸 알고 계시면 IDL쓰실 때 많은 도움이 될 겁니다.

원래는 REPEAT만 소개를 하려다가 잔걱정이 많아져서 다양한 이야기를 쓰게되었네요. 어찌되었던 오늘은 유용한 반복문인 REPEAT를 한번 확인해 보았습니다. 여러분들도 즐거운 IDL생활이 되기를 기대하겠습니다.