if (표현식)
표현식이 TRUE로 평가되면 수행할 명령어(들)을 지정합니다.
if (expression)
논평
표현식이 있는 if-서술문은 전통적인-if와 다릅니다. If FoundColor <> Blue
와 같은 경우 단어 "if" 다음 문자가 여는 활괄호가 아닙니다.
보통 전체 표현식을 활괄호 안에 싸 넣으면 이렇게 할 수 있지만, if (x > 0) and (y > 0)
와 같이 해도 달성할 수 있습니다. 게다가, 단어 "if" 다음의 첫 항목이 함수 호출이거나 또는 "not"이나 "!"와 같은 연산자일 경우 여는-활괄호는 완전히 생략해도 됩니다.
if-서술문의 표현식이 참으로 평가되면 (빈 문자열 또는 숫자 0만 아니면 어떤 결과도 참이므로), 그 줄 또는 그 밑의 블록이 실행됩니다. 그렇지 않고, 상응하는 ELSE가 있다면, 실행은 그 줄 또는 그 밑의 블록으로 점프합니다.
IF 또는 ELSE가 여러 줄을 소유하면, 그런 줄들은 반드시 활괄호 안에 둘러싸야 합니다. 그렇지만, 한 줄만 IF나 ELSE에 속한다면, 활괄호는 없어도 됩니다. 이 페이지 아래의 예제들을 참조하십시오.
One True Brace (OTB) 스타일은 선택적으로 표현식 if-서술문과 함께 사용할 수 있습니다 (그러나 전통적인 if-서술문은 안 됩니다). 예를 들어:
if (x < y) { ... } if WinExist("Untitled - Notepad") { WinActivate } if IsDone { ... } else { ... }
"else" 서술문과 다르게 -- 그의 오른쪽에 오기만 하면 서술문에 종류에 상관없이 지원하는 -- if-서술문은 오직 그의 오른쪽에 오는 "{"만 지원합니다.
관련하여, 명령어 if var [not] between LowerBound and UpperBound
는 변수가 두 변수 사이에 있는지 점검합니다. 그리고 if var [not] in value1,value2
는 변수의 내용이 값 목록 안에 존재하는지 점검하는 데 사용할 수 있습니다.
관련 항목
표현식, 할당 표현식 (:=), if var in/contains MatchList, if var between, IfInString, 블록, Else, While-회돌이
예제
if (A_Index > 100 or Done) return if (A_TickCount - StartTime > 2*MaxTime + 100) { MsgBox 너무 많은 시간지 경과하였습니다. ExitApp } if (Color = "Blue" or Color = "White") { MsgBox 컬러는 허용된 값 중 하나입니다. ExitApp } else if (Color = "Silver") { MsgBox 회색은 허용하지 않는 색입니다. return } else { MsgBox 이 색은 인지할 수 없습니다. ExitApp }