2006-04-13

반복(repeat ~ end repeat)

repeat부터 end repeat까지 사이에 있는 스크립트를 반복해서 수행합니다. 특별한 조건이 없으면 무한정 반복합니다. 스크립트 에디터에서는 '중단' 버튼을 눌러서 멈출 수 있습니다. 스크립트를 응용프로그램으로 만들 때에는 무한 루프를 만들지 않도록 신경쓰셔야 합니다.
repeat
beep
end repeat


10번 실행하고 멈추는 스크립트들입니다.
set i to 1
repeat
beep
set i to i + 1
if i > 10 then exit
end repeat
repeat with i from 1 to 10
display dialog i
end repeat
repeat 10 times
display dialog "ha ha ha"
end repeat


repeat의 종류
  • repeat : 무한정 반복합니다. 사용자가 직접 멈추거나, 멈출 수 있는 조건을 만들어야 합니다.
  • repeat n times : n번 반복합니다.
  • repeat while : while 이후의 조건이 참인 동안 반복합니다.
  • repeat until : until 이후의 조건이 참인 동안 반복합니다.
  • repeat with A from B to C by D: A가 B에서부터 C까지 증가하는 만큼 반복합니다. 증가하는 단위는 by로 결정합니다.
  • repeat with X in {} : count of {} 만큼 반복합니다. 반복되는 동안 X에는 list의 아이템이 하나씩 대응됩니다.


repeat에서 빠져나올 때에는 exit를 사용합니다.
set x to 0
repeat
set x to x + 1
if x > 10 then
exit repeat
end if
end repeat


1부터 10까지의 합을 구하는 스크립트입니다.
set r to 0
repeat with i from 1 to 10
set r to r + i
end repeat
r

0 Comments:

댓글 쓰기

<< Home