|
2012-02-04 19:44
조회: 11,249
추천: 11
(스크립트매크로)스크립트매크로 제작강좌(PART2. 제어문과 반복문 )1. 제어문
제어문이란? 제어문이란.. 조건의 유무를 따져서 흐름을 제어하는 구문을 제어문이라고 합니다. 원하는 제한된 조건을 도출시키기 위해서 사용됩니다. 스크립트매크로에서 제어문은 1. if (조건식)then 조건분기 명령어 end 2. if 조건식 then 조건분기명령어 end 두가지로 방식으로 구현됩니다. 또한 만약 조건이 아니라면 이라는 식으로 만들고 싶다면 if not 이런식으로 if 뒤 조건식에 not을 추가해 주시면 됩니다. 조건식에는 비교연산자와 논리연산자를 이용하여 구성되어집니다. 비교연산자는 말그대로 두조건을 비교하는겁니다. 1. 같다 ( = ) ex) if (a=UnitName("player"))then 조건이맞을시 실행명령들 end - 위의 경우는 a라는 변수가 플레이어의 이름과 같다면 명령을 실행하는 조건입니다. 2. 같지 않다 ( ~= ) ex) if (a~=UnitName("player"))then 조건이맞을시 실행명령들 end - 위의 경우는 a라는 변수가 플레이어의 이름과 같지않다면 명령을 실행하는 조건입니다. 논리연산자 복수의 조건이 성립하는지 판단할대 사용됩니다. 1. a 와 b가 모두 True일ㅤㄸㅒㅤ(and) ex)if (조건식1 and 조건식2)then 조건이맞을시 실행명령들 end - 조건식 1과 2가 모두 True일시 실행됩니다. 2. a 또는 b가 True(or) ex)if (조건식1 or 조건식2)then 조건이맞을시 실행명령들 end - 조건식 1이나 2 둘중 하나만 True이면 실행됩니다. 여러조건문을 하나로 묶어서 비교도 가능합니다. if (조건식1)then 조건식1이 맞을시 실행문 elseif (조건식2) 조건식2이 맞을시 실행문 end 2.반복문 반복문이란? 반복문이란 일련의 행위를 반복해서 실행하는 것을 말합니다. 1. for i=1,n do 반복문 end - 변수i를 1부터 n까지 증가시키면서 반복문을 n번 반복해서 실행하게됩니다. 2. for col1,col2 in ipairs(table) do 반복문 end - 이건 table 즉, 표로 제작된 배열의 컬럼값을 불러오는 구간입니다. table의 값이 끝날때까지 가져와서 실행합니다. - 추가설명이 필요할것같아서 예를들어 다음과 같은 함수 집단이 있습니다. 3. while(조건식)do 반복문 end - 조건식이 참일경우 반복문을 무한으로 반복합니다. 조건식이 거짓이 될경우 반복문을 벗어나게 됩니다. 1번의 경우의 예제 /run for i=1,9 do print("2*"..i.."="..2*i) end 위의 문장을 와우에서 그대로 실행하시면 실행이 되는데요. i라는 변수를 1부터 9까지 증가시키면서 반복문을 9번 반복하게 됩니다. 즉, 위의 문장은 구구단2단을 채팅창에 표시 하게 됩니다. 2번의 경우 추가설명이 필요 할것같아서 추가설명 들어갑니다. 2. for col1,col2 in ipairs(table) do 반복문 end - 이건 table 즉, 표로 제작된 배열의 컬럼값을 불러오는 구간입니다. table의 값이 끝날때까지 가져와서 실행합니다. - 추가설명이 필요할것같아서 예를들어 다음과 같은 함수 집단이 있습니다. COOLDOWN_MAP={ [42292] = 120, -- 계급장 [59752] = 120, -- 인간 자생력 [7744] = 45, } 이라는 table이 있다고 봅시다 이걸 조금더 보기 쉽게 시각화 한다면 column1 column2 row1 42292 120 row2 59752 120 row3 7744 45 이런 표로 구성 된다고 보면됩니다. 즉, 이경우 for문은 3번(3개의 row로 구성되니깐요)반복되고, col1은 첫번째 값들을 가지게 되고 col2는 두번째 값을 가지게됩니다. 3번경우의 예제 /run local i=1 while(i<10) do print("2*"..i.."="..2*i) i=i+1 end - 위의 예제는 i라는 지역변수를 1로 선언한후에 while 반복문을통해 조건식을 무한 반복합니다. 즉, i는 1씩 증가하다가 (i<10)이 아니게 되는순간... 즉 i가 10이 되는순간 반복문을 빠져 나오게 됩니다. 위의 1번예제의 2단 구구단과 같은 결과를 얻게 되죠 첫번째 강좌. (스크립트매크로)스크립트매크로 제작강좌(PART1. 변수와 함수) |
고대인