{...} (block)

한 쌍의 활괄호는 블록을 뜻합니다. 블록은 전형적으로 함수, Else, Loop, While-loop, 그리고 IF-명령어와 함께 사용됩니다.

{
0개 이상의 명령어 나열
}
선택

논평

블록은 두 개 이상의 명령어들을 하나로 묶는 데 사용됩니다. 또 어느 IF에 ELSE가 속하는지 바꾸는 데에도 사용됩니다. 다음 예제와 같이 블록은 ELSE를 두 번째가 아니라 첫 번째 IF에 속하게 만듭니다:

if var1 = 1
{
    if var2 = abc
        sleep, 1
}
else
    return
선택 | 내려받기

블록은 아무데나 사용할 수 있지만, 현재는 오직 functions, Else, Loop, 또는 IF-유형의 명령어들 (예를 들어 IfEqual 또는 IfWinExist)과 사용될 때만 의미가 있습니다.

만약 IF, ELSE, Loop, While-회돌이, 또는 For-회돌이에 명령어가 하나 밖에 없다면, 그 명령어는 블록에 쌀 필요가 없습니다. 그렇지만, 스크립트의 가독성을 향상시키고 유지관리성을 용이하게 하기 위해 그래야 할 경우가 있습니다.

블록은 비어 있어도 됩니다 (명령어가 없음). 이 경우는 블록 자체를 제거하지 않고 블록의 내용을 주석 처리하고 싶을 때 유용합니다.

One True Brace (OTB, K&R 스타일): OTB 스타일을 선택적으로 다음과 같은 경우에 사용할 수 있습니다: if-서술문의 표현식, else 키워드, while-회돌이, For-회돌이, 보통 회돌이, 함수 정의, Try, Catch, 그리고 Finally. 이 스타일은 블록의 시작 활괄호를 블록의 제어 서술문과 같은 줄에 배치합니다. 그 줄 아래 따로 두지 않습니다. 예를 들어:

if (x < y) {
    ...
} else {
    ...
}
While x < y {
    ...
}
For k,v in obj {
    ...
}
Loop %RepeatCount% {
    ...
}
MyFunction(x, y) {
    ...
}
Try {
    ...
} Catch e {
    ...
} Finally {
    ....
}
선택 | 내려받기

비슷하게, 명령어 또는 기타 조치는 활괄호 우측에 존재합니다 (단, One True Brace 스타일의 여는 괄호는 제외합니다). 예를 들어:

if x = 1
{ MsgBox 이 줄은 여는 괄호의 오른쪽에 나타납니다. IF-서술문이 참일 때마다 실행됩니다.
    MsgBox 이 줄은 다음 줄입니다.
} MsgBox 이 줄은 닫는 괄호의 오른쪽에 나타납니다. 무조건 실행됩니다.
선택 | 내려받기

관련 항목

Functions, While-회돌이, Loop, Else, If, If(Expression)

예제

if x = 1
{
    MsgBox, test1
    Sleep, 5
}
else
    MsgBox, test2
선택 | 내려받기