[첫화면으로]"Perl/순환문" 페이지의 변경 내역

마지막으로 [b]


현재 버전 . . . . 2008-12-28 11:20 pm 수정한 사람: Raymundo [do { BLOCK } - ]
8 번째 수정본 . . . . 2008-12-1 3:35 pm 수정한 사람: Raymundo
3 번째 수정본 . . . . 2002-10-27 11:07 am 수정한 사람: Raymundo
 

변경사항 (가장 최근의 "일반적인 수정"부터) (다른 사용자에 의한 수정)

-90,9 +90,25
* do { BLOCK } while ( 조건 )
* do { BLOCK } until ( 조건 )
* 위 두 가지는 BLOCK 을 한 번 실행한 후, 조건에 따라 반복을 할 것인지 결정한다.
** 그런데... 이 형태는 whlie이나 until과 달리 루프로 간주되지 않아서 next,last,redo를 쓸 수 없다.<footnote(이럴 땐 좀 펄이 싫어진다...)>
** next를 대신할 수 있는 방법은 BLOCK을 다시 중괄호로 둘러싸는 것. 중괄호쌍은 그 자체가 "한 번 실행되는 루프"로 간주되기 때문에<footnote(Perldoc:perlsyn"")> next 등을 쓸 수 있다. 따라서 last를 만나면 중괄호를 빠져나가고, 이후 조건문을 검사한 후 다시 do { } 안으로 진입하거나 나가거나 할 것이다.
** last의 효과를 낼 수 있는 방법은 모르겠음.
* 그런데... 이 형태는 whlie이나 until과 달리 루프로 간주되지 않아서 next,last,redo를 쓸 수 없다.<footnote(이럴 땐 좀 펄이 싫어진다...)>
** do 블록 안 또는 밖에 추가로 블록을 구성해서 next와 last의 효과를 낼 수 있다.<footnote(Perldoc:perlsyn"")>
{{{#!vim perl
# next 를 하기 위해서는 중괄호를 이중으로 써서 안쪽에 블록 하나를 다시 만든다.
           do {{
               next if $x == $y;
               # do something here
           }} until $x++ > $z;
# last 를 하기 위해서는 바깥쪽에 블록을 만든다.
           LOOP: {
                   do {
                       last if $x = $y**2;
                       # do something here
                   } while $x++ <= $z;
           }
}}}
----
[[컴퓨터분류]]