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;              // 외부 스크립트가 실행되면 프로그램의 나머지 부분을 계속합니다.