문은 실행될 때 스크립트가 수행하는 작업을 정의합니다. 여기에는 변수를 생성하고, 새 값을 할당하고, 계산을 수행하고, 주어진 조건에 따라 논리적인 선택을 하는 행동이 모두 포함됩니다. 일부 문은 변수에 값을 배정하는 것처럼 작업을 수행하기만 합니다. 기타 문은 스크립트의 흐름에 영향을 줍니다. 문은 논리적 순서로 실행되지만, 이러한 순서는 스크립트가 실행될 때마다 변경될 수 있습니다.

스니펫에서 문은 하나 이상의 코드로 구성됩니다. 단순한 한 줄짜리 문은 변수를 생성하고 변수에 값을 할당할 수 있으며, 그 예는 다음과 같습니다.

ASSIGN firstName = "Beowulf"

복잡한 문에는 많은 네스팅된 줄의 그룹이 있을 수 있으며, 그 예는 다음과 같습니다.

ASSIGN Names="Odin|Freya|Thor|Loki" ASSIGN SubCounter=1 FOREACH Name IN Names { IF Name = "Odin" | Name = "Freya" { ASSIGN NewNames[SubCounter]= "{Name}" ASSIGN SubCounter=SubCounter + 1 } }

스니펫에서 문 실행의 논리적 순서는 스니펫에 오류가 있을 경우 변경할 수 있습니다. 오류가 발생하면 Snippet 작업이 즉시 종료됩니다. 스니펫의 나머지 문은 실행되지 않습니다. 대신 어떤 문제인지 나타내는 오류 메시지_ERR 변수에 저장됩니다.

문의 유형

다음 문의 유형을 스니펫에서 사용할 수 있습니다.

  • 선언: 선언 문을 사용하면 새로운 변수, 개체, 함수를 선언 또는 생성합니다.
  • 의사결정: 의사결정 문을 사용하면 스니펫 코드가 지정하는 조건에 따라 수행할 작업을 선택할 수 있습니다. 이를 사용하면 스크립트에서 일어나는 일의 선형적인 흐름을 제어할 수 있습니다.
  • 루핑: 루핑 문을 사용하면 특정한 종료 조건이 충족될 때까지 스니펫이 작업 또는 작업 세트를 반복적으로 수행할 수 있습니다.
  • 기타: 이러한 을 사용하면 함수를 종료하고, 디버깅 중에 Snippet Editor 창에서 결과를 표시하고, 스니펫에 웹 서비스 프록시 DLL을 포함할 수 있습니다.

키워드

키워드는 문을 시작하는 명령입니다. 키워드는 사전에 정의되었으며 예약된 용어입니다. 컴파일러는 키워드를 인식하고 이와 관련된 동작을 수행합니다.

스니펫에 사용할 수 있는 문의 각 유형은 이와 관련된 키워드가 있습니다. 예를 들어 변수를 선언하려면 ASSIGN 키워드를 사용할 수 있습니다. 아니면 IF 키워드를 사용하여 선택 문을 작성할 수도 있습니다. 각 문과 키워드는 동일한 이름을 공유하므로 IF 문은 IF 키워드를 사용합니다.

Snippet 언어에서 사용 가능한 키워드는 각 키워드와 연결된 문과 함께 설명됩니다. 완전한 키워드 목록 역시 사용 가능합니다.

문 구문

모든 문은 키워드로 시작하며, 문이 하는 작업을 정의하는 단어 또는 코드가 그다음에 표시됩니다. 각 문에는 자체적인 구문이 있습니다. 이 페이지의 구문 요약 섹션에서는 문 구문을 읽는 방법을 설명합니다.

일부 구문은 조건부 코드가 필요합니다. 이는 조건을 설정하는 코드이며, 조건이 충족되거나 충족되지 않았을 때 일어나는 일을 정의합니다. 조건부 코드는 단일 문 또는 다수의 문일 수 있습니다. 한 줄이어도 항상 중괄호({ })로 묶어야 합니다. 종종 조건부 코드는 블록이라고도 부릅니다.

컴파일러가 새로운 줄이나 여는 중괄호를 마주했을 때 문의 종료를 인식합니다. 중괄호의 배치는 어떤 면에서 유연합니다. 다음 형식은 모두 유효합니다.


IF x=1 {TRACE "one" } 

IF x=1 {TRACE "one" } IF x=2 {TRACE "two" }
IF x=1 {
  TRACE "one"
}

IF x=1
{
  TRACE "one"
}

포함된 코드에 두 개 이상의 문이 필요한 경우에는 다음 규칙을 따릅니다.

  • 한 줄당 문 하나를 배치합니다.
  • 여러 문이 필요한 경우에는 이를 별도의 줄에 배치합니다. 이렇게 하면 코드를 더욱 쉽게 읽을 수 있습니다.
  • 자체적으로 내장된 코드가 필요한 내장된 문은 중괄호를 사용하는 유효한 형식 다음에 여러 줄로 이루어질 수 있습니다.

구문 요약

각각의 문 유형을 다루는 온라인 도움말 페이지에서, 각각의 문 유형에는 구문 요약이 있습니다. 요약에서는 이러한 종류의 문에서 사용하는 유형을 보여줍니다. 필요한 요소와 선택적으로 사용 가능한 요소도 보여줍니다. 또한 구문 요소를 네스팅해야 하는 방식도 보여줍니다.

다음 테이블에서는 구문 요약의 각 요소를 정의합니다. 모든 요소가 포함되지 않는 문도 일부 존재합니다. 구문 요약을 해석할 때는 요소 네스팅에 유의하십시오.

요소

세부 정보

COMMAND

이는 문에서 사용할 키워드의 이름입니다. COMMAND 을(를) 생성하는 문을 위한 키워드로 수정합니다.

키워드는 대소문자가 구분되지 않습니다. 예를 들어, 컴파일러 입장에서 FOREACH은(는) foreach과(와) 동일합니다. 하지만, Snippet 작업은 다음에 스니펫을 열 때 모든 키워드를 대문자로 자동 변환합니다.

온라인 도움말에서 키워드는 항상 대문자 형식으로 기재됩니다.

<required>

꺾쇠괄호는 필수 요소를 의미합니다. 꺾쇠괄호 안의 텍스트는 표현식, 변수, 리터럴 값 등 요소의 종류를 나타냅니다.

예를 들어 FOREACH 문 구문 요약에는 두 가지 필수 요소가 있습니다.

FOREACH <var> in <array> { ... [ BREAK]}

꺾쇠괄호와 그 안의 텍스트는 스크립트 내에서 리터럴하게 사용하면 절대로 안 됩니다. 해당 부분을 설명하는 코드 요소로 교체합니다. 예를 들면 <expression>을(를) i = 0 등의 표현식으로 교체합니다.

[optional]

대괄호는 선택적 요소를 나타냅니다. 괄호 안의 텍스트는 사용할 수 있는 요소의 종류를 나타냅니다. 예를 들어 IF 구문 요약에서 선택적인 ELSE 절은 대괄호로 묶입니다: [ELSE { ... }.

선택적인 요소를 사용하는 경우에는 다른 요소와 비교하여 구문 요약에 표시된 요소에 나타나야 합니다.

대괄호는 스크립트 내에서 리터럴하게 사용하면 절대로 안 됩니다.

{ ... } 중괄호는 코드 블록을 사용할 수 있음을 나타냅니다.

중괄호는 구문 요약에서 사용되는 꺾쇠괄호 및 대괄호와 다릅니다. 꺾쇠괄호와 대괄호는 코드에 포함돼서는 안 되지만, 중괄호는 코드 내에 리터럴하게 포함되어야 합니다. 하지만 구문 요약의 중괄호 안에 있는 말줄임표( ... )는  Snippet 문으로 교체해야 합니다.

파이프 ( | )

파이프 문자는 문에 포함할 사항을 선택할 수 있는 항목을 나타냅니다. 예를 들어 ASSIGN 문에 대한 구문 요약에서 파이프 문자는 값을 큰따옴표로 묶는 것에 관해 선택할 수 있음을 나타냅니다.

ASSIGN <variable> = "<value>" | <value>

구문의 설명이 선택 사항을 설명합니다.

말줄임표 (...)

말줄임표는 다음 두 가지 중 한 가지를 나타냅니다.

  • 중괄호 사이에 있는 경우 코드가 블록에 들어가는 위치.
  • 키워드와 함께 대괄호 사이에 있는 경우 계속되는 패턴.

계속되는 패턴을 나타내는 데 사용되는 말줄임표의 예시는 SELECT 구문 요약에서 확인할 수 있습니다.

SELECT <{ CASE <expression> [{ ... }] [CASE <expression> <{ ... }>] [CASE ...] [DEFAULT <{ ... }>] }>

[CASE ...]은(는) 수립된 패턴 이후 필요에 따라 원하는 개수의 CASE 절을 계속 추가할 수 있음을 나타냅니다.

예를 들어, 이 페이지에서 사용되는 IF 문의 구문 요약은 다음과 같습니다.

IF <expression> <{ ... }>

이 요약은 다음을 보여줍니다.

  • 키워드는 IF입니다.
  • 다음 요소는 필수 표현식입니다.
  • 마지막 요소는 중괄호로 묶어야 하는 필수 코드 블록입니다.

SWITCH 문의 구문 요약은 더욱 복잡합니다.

SWITCH <var> <{CASE <literal> [{ ... }] [CASE <literal> [{ ... }]] [CASE ...] [DEFAULT [{ ... }]] }>

이 요약은 다음을 보여줍니다.

  • 키워드는 SWITCH입니다.
  • 다음 요소는 필수 변수 이름입니다.
  • 코드 블록은 필수이며, 리터럴 값이 있는 CASE 절을 포함해야 합니다.
  • 필수 CASE 절은 선택적인 코드 블록을 포함할 수 있습니다.
  • SWITCH 문의 코드 블록은 요약에 있는 패턴 다음에 선택적인 CASE 절을 추가로 포함할 수 있습니다.
  • SWITCH 문의 코드 블록은 선택적인 코드 블록이 있는 선택적인 DEFAULT 절을 포함할 수 있습니다.