12.1.5 상태 관리
다음 표는 스크립트에서 사용할 수 있는 명령문 및 키워드 집합입니다.
타입 | 설명 |
IF-ELSE 구문 | "if" 뒤의 표현식을 평가합니다. 표현식이 참이면 "if" 바로 뒤에 오는 코드가 실행됩니다. 그렇지 않으면 "else" 바로 뒤에 오는 내용이 실행됩니다. 사용자는 'else if' 표현식을 사용하여 평가할 여러 사례를 지정할 수 있습니다. |
WHILE/DO-WHILE 구문 | 루프 프로세스에 대한 명령문. |
FOR 구문 | 더 복잡한 루프 프로세스에 대한 명령문입니다. |
SWITCH-CASE 구문 | 다른 조건에 따라 다른 프로세스를 실행하기 위한 명령문. |
GOTO 구문 | 프로그램의 흐름이 스크립트의 특정 위치로 이동하도록 하는 명령문. |
CONTINUE 문 | 루프 프로세스에서 사용되는 키워드입니다. |
RETURN 문 | 호출자에게 반환될 값을 지정하는 키워드입니다. |
RUNSCRIPT 문 | 외부 프로그램을 호출하는 키워드입니다. |
(1) IF-ELSE 구문
IF 문은 If(조건 1) { If(조건 2) { … } } 과 같은 중첩된 조건문을 지원합니다. 중첩 IF 수준에는 제한이 없으며 또한 Else 문은 생략할 수 있습니다. Else If' 문은 If 문 다음에 오는 추가 조건에 사용됩니다. 주어진 If-Else If-Else 문에 대해 하나의 분기만 실행됩니다. 한 조건이 충족되면 다음 "Else If" 또는 "Else" 조건 중 어느 것도 평가되지 않습니다.
If (A == 1) { // A가 1일 때 조건문 } Else If (A == 2) { // A가 2일 때 조건문 } Else { // A가 1 혹은 2 가 아닐 때 조건문 } |
(2) WHILE/DO-WHILE 구문
WHILE/DO-WHILE 구문은 루프 프로세스에 대한 명령문입니다. WHILE 키워드 뒤에 오는 조건이 True인 한 WHILE 키워드 아래의 명령문이 반복됩니다.
A = 0; While (A<10) { // 반복될 프로그램을 작성하십시오. // WHILE 키워드의 조건은 True입니다. // 이 예제는 10번 반복됩니다. A = A +1; } |
WHILE 문의 조건이 true가 아니면 하위 문은 실행되지 않습니다. DO-WHILE 문을 사용하는 경우 루프 문은 한 번 이상 실행됩니다. 첫 번째 실행 후 시스템은 WHILE 문 내에서 조건을 확인합니다.
Do { // 조건이 True일 때 루프문을 작성하십시오. // 루프 문은 적어도 한 번 실행됩니다. } While (A<10); // 문장의 마지막 끝을 ‘ ; ’로 표시. |
(3) FOR 구문
이 문장에서는 초기화, 의사결정, 사후 루프 프로세스에 대한 모든 표현식이 단일 문장 라인에 설명되어 있습니다.
다음 예는 위에 표시된 WHILE 문 예를 표시하지만 대신 FOR 문을 사용합니다.
For (A=0; A<10; A=A+1) { // 반복될 프로그램을 작성하십시오. } |
FOR문 다음에는 초기화문, 의사결정문, 후처리문이 옵니다.
FOR (초기화문; 의사 결정문; 후처리문)
위의 예에서 루프문은 10번 실행됩니다. 첫 번째 실행에서 A는 0의 값을 갖습니다. 그 후 "A=A+1" 문이 실행되고 루프가 다시 실행됩니다. 루프는 A가 10 이상이 될 때까지 계속 실행됩니다.
(4) SWITCH-CASE 구문
이 문은 다른 경우에 다른 프로세스가 필요할 때 사용됩니다. 각 케이스는 CASE 문을 무제한으로 구분할 수 있습니다.
CASE 키워드 뒤에는 상수 값이 오고 콜론 " : "으로 끝나야 합니다. CASE 문에는 태그, 변수 또는 표현식을 사용할 수 없습니다. SWITCH 문에는 DEFAULT 문 하나만 사용할 수 있습니다.
DEFAULT 문에는 상수가 필요하지 않습니다. 이 명령문은 다른 케이스가 실행되지 않을 경우 실행됩니다. DEFAULT 문은 필요하지 않은 경우 생략할 수 있습니다.
BREAK 키워드는 SWITCH 문을 종료하는 역할을 합니다. CASE 문 뒤에 BREAK 키워드가 없으면 해당 CASE/DEFAULT 문도 실행됩니다. 이는 아래 예와 같이 여러 CASE가 동일한 결과를 실행할 수 있음을 의미합니다.
Switch (A) { Case 1: // A가 1일때 프로그램을 작성하십시오 Break; Case 5: Case 7: // A가 5 혹은 7일때 프로그램을 작성하십시오 Break; Default: // 기본 프로그램을 작성하십시오. 이 부분은 생략 가능합니다. Break; } |
(5) CONTINUE 문
CONTINUE 는 루프 문에서 사용됩니다. 시스템이 CONTINUE 키워드를 만나면 흐름은 루프의 나머지 부분을 건너뛰고 현재 루프의 첫 번째 부분으로 이동합니다. 이 키워드는 WHILE, DO-WHILE 및 FOR 문에서 자주 사용됩니다. 루프에 여러 의사 결정 문(IF-ELSE)이 있는 경우 특히 유용합니다.
While (A<10) { A = A +1; If (A < 5) { // A가 5보다 적을 때 프로그램을 작성하십시오 } Else { // A가 5보다 같거나 클 때 프로그램을 작성하십시오 } } |
While (A<10) { A = A +1; If (A < 5) { // A가 5보다 적을 때 프로그램을 작성하십시오 Continue; } // A가 5보다 같거나 클 때 프로그램을 작성하십시오 } |
(6) RETURN 문
모든 프로그램은 호출자에게 결과 값을 반환합니다. RETURN 키워드는 반환 값을 지정하고 프로그램을 종료하는 데 사용됩니다.
다음 예제에서는 세 개의 입력 매개변수를 처리하고 이들의 합계를 호출자에게 반환합니다.
아래 표시된 프로그램의 이름은 MyPgm입니다.
PARAM p1, p2, p3; Return p1+p2+p3; |
MyPgm 프로그램은 아래와 같이 다른 프로그램에서 호출됩니다. 그런 다음 변수 'RtnValue'는 '6' 값을 받습니다.
RtnValue = MyPgm(1, 2, 3); |
(7) system.importScript Keyword
외부 프로그램을 직접 호출하는 경우 호출자는 호출된 프로그램(외부 프로그램)이 작업을 종료할 때까지 대기 모드에 있습니다.
If (A == 0) system.importScript(“ScriptName”); // ‘ScriptName’이라는 외부 프로그램 실행 A = A + 1; // 외부 스크립트가 실행되면 프로그램의 나머지 부분을 계속합니다. |