9. ETC Control Flow
** 루프 블록 :: for, foreach,while,until , 자체 (naked)
last 문
:: 가장 안쪽의 루프 블록을 빠져 나오도록 한다.
while(something){
something;
if(somecondition){
something_other;
last; #while 루프를 벗어남.
}
morething;
}
# last 는 이곳으로 옴
next 문
:: 블록을 마치지 않고 가장 안쪽 루프 블록의 나머지를 건너뛰어 실행한다.
while(something){
firstpart;
if(some_cond){
somepart;
next;
}
otherpart;
#next 는 이곳으로 온다.
}
redo 문
:: 현재 블록의 시작 부분으로 건너 뛰도록 한다.(제어식을 다시 계산하지 않음.)
while(something){
# redo는 이곳으로 온다.
firstpart;
if(some_cond){
somepart;
redo;
}
otherpart;
}
아래와 같이 무한 루프를 만들 수도 있다.(자체:naked) 블록을 응용
{
startstuff;
if( some_cond){
last; #탈출
}
laterstuff;
redo;
}
라벨 붙은 블록
라벨은 모두 대문자와 숫자로 구성되어야 한다.
라벨 뒤에는 (:) 뒤 블록을 포함하는 문장이 와야 한다.
표현식 수정자
some_exp if control_exp;
control_exp 먼저 계산 하고 some_exp 하거나 하지 않는다.
제어구조로서의 && 와 II
추후정리
댓글 없음:
댓글 쓰기