사이트 로그인
2017.03.20 19:15
반복문 지식
일상 코딩속에서 많이 활용되고있는 for문 입니다.
for문은 조건제시가 편하게 가능한 것으로,
구동기에서도 부담없이 사용이 가능한 반복문입니다.
대신 for문은 while문과 달리, 사용에 여러가지 제약을 걸어주어야
합니다.
< 예제1. for문 게재 형식 >
set @id, myid();
for(set @i, 0; @i < 10; set @i, @i +1)
{
say @id, 0, "안녕하세요";
sleep(1000);
}
위에를 보시면, for 문안에 뭔가가 수두룩하게 있습니다.
물론 여러분들은 처음에 보시면 어? 저게뭐지? 라고 생각하시는
분들이 많습니다. 저도 처음에는 그랫으니까요.
그럼이제 for문을 하나하나 파헤쳐 보도록 하겠습니다.
< 예제2. for문 파헤치기 >
set @id, myid();
for(초기식; 조건식; 증감식)
{
say @id, 0, "안녕하세요";
sleep(1000);
}
우선 초기식이란, 우리가 어떠한 변수(저장소)를 초기로 설정해주어야 합니다.
for문이 '무엇'을 조건으로 돌아갈 수 있는지 우선적으로 설정해주는것을 말합니다.
그리고 조건식이란, 우리가 '초기식'에서 지정한 '변수(저장소)'를 조건을 주어
그 조건에 맞을때 반복이 종료되도록 하는것을 말합니다.
세번째로 증감식이란, 우리가 설정한 '조건식'에 만족할때까지 변수를
증가시키는것을 말합니다.
< 예제3. for문 만들어보기 >
저것이 아 무슨말인지 모르겠다.. 라고 생각하시는게 옳바릅니다. 이것을
처음부터 이해하려고 하지마세요. 왜냐하면 그냥 직접 해보는것이 맞으니까요!
그럼한번 저랑 똑같이 스크립팅 해보세요~!
set @id, myid();
for(set @i, 0; @i < 10; set @i, @i + 1)
{
say @id, 0, "안녕하세요";
sleep(1000);
}
위에 보시면 @i 라는 임시변수가 있습니다.
우리는 잠시나마 '변수'라는 말을 '저장소'로 가정하겠습니다.
for문의 첫 식을 보시면, set @i, 0; 라는것을 보실 수 있어요.
이것을 해석하자면, 선언한다. @i 라는 변수(저장소)를 0으로
위에서 @i 라는 변수를 0으로 설정하면서, @i 라는 아무것도
들어있지않는 비어있는 변수(저장소)가 생겼어요.
for(set @i, 0;
자 이제 우리는 첫번째 for문의 초기식을 만들어 줫습니다.
그냥 @i 라는 박스가 있으면 이 박스안에 아무것도 없는거에요~
두번째는 조건식! 자~ 똑같이 따라써보세요.
@i < 10; 다 쓰셨나요? 우리는 이제 @i 라는 박스가 안에 10개의
물건이 찰때까지 반복되라고 명령을 넣었습니다!
그리고 세번째는 증감식!
set @i, @i + 1 똑같이 따라 쓰셨나요~? 이것은 반복이 한번 될때마다
@i 라는 변수(저장소)에 물건을 하나씩 추가해준다는 말이에요.
이제 우리가 여태까지 썻던것을 종합해보도록 해요.
for(set @i, 0; @i < 10; set @i, @i + 1) { 이벤트 }
for문안에 있는것을 차례대로 해석해봅시다.
set @i, 0; @i 라는 박스에 아무것도 없도록~ 0을 넣어줫어요. 0 < 아무것도 없다! 에요~!
@i < 10; 그리고 @i 라는 박스에 물건이 10개가 들어올때까지 반복하라고 명령을 해줫어요~
set @i, @i + 1 그리고 반복될때마다 박스에 물건이 +1 개씩 추가되라고 말을 해주었죠.
조건문은 이런식으로 만들어주는것입니다. 뭐이거 봐도 아무것도 모르겠따~
그런사람은 그냥 위에 있는 예제를 복사 붙여넣기를하세요!
언젠가는 이해하는날이 올것입니다.
주의! 반복문에는 항상 sleep 문을 넣어주어야 합니다. < sleep(1000); 또는 sleep 1000; > - 1000은 1초를 뜻함
가벼운 루프에서는 슬립문을 안넣어도 되지만, 인피니티루프가 뜨는것을 방지하기 위함입니다.( 슬립문없이 1024번 반복가능 )