If/IfEqual/IfNotEqual/IfLess/IfLessOrEqual/IfGreater/IfGreaterOrEqual
변수를 변수해 비교해 TRUE로 평가될 경우 수행할 명령어(들)을 지정합니다. 명령어가 여럿 존재하면, 블록 (활괄호) 안에 둘러 싸십시오.
IfEqual, var, value (same: if var = value) IfNotEqual, var, value (same: if var <> value) (!= can be used in place of <>) IfGreater, var, value (same: if var > value) IfGreaterOrEqual, var, value (same: if var >= value) IfLess, var, value (same: if var < value) IfLessOrEqual, var, value (same: if var <= value) If var ; 변수의 내용이 비어 있거나 0이면, 거짓으로 간주됩니다. 그렇지 않으면 참입니다. 다음도 참조: IfInString
매개변수
- var
변수 이름.
- value
기호 문자열, 숫자 또는 변수 참조 (예, %var2%). var를 빈 문자열에 비교하고 싶다면 값을 생략할 수 있습니다.
논평
변수(var)와 값(value)이 순수하게 숫치라면, 문자열이 아니라 숫자로 비교됩니다. 그렇지 않으면, 문자열로 알파벳 순으로 비교됩니다 (즉, 알파벳 숫서로 var가 value보다 큰지 작은지 같은지 결정합니다).
IF 또는 ELSE가 여러 줄을 소유하면, 그런 줄들은 활괄호로 둘러 싸야 합니다. 예를 들어:
if count <= 0 { WinClose Untitled - Notepad MsgBox 어떤 항목도 존재하지 않습니다. }
그렇지만, 한 줄만 IF 또는 ELSE에 속한다면, 활괄호는 선택적입니다.
명령어-이름 스타일을 사용한다면, 또다른 명령어는 IF 서술문과 같은 줄에만 나타날 수 있습니다. 다른 말로, 다음은 유효합니다:
IfEqual, x, 1, Sleep, 1 IfGreater, x, 1, EnvAdd, x, 2
그러나 다음은 유효하지 않습니다:
if x = 1 Sleep 1 IfGreater, x, 1, x += 2
One True Brace (OTB) 스타일은 이런 유형이 if 서술문에 사용하면 안 됩니다. 오직 표현식 if-서술문에만 사용할 수 있습니다.
관련하여 말씀드리자면, 다음 명령어 if var [not] between LowerBound and UpperBound
는 변수가 두 값 사이에 있는지 점검합니다. 그리고 if var [not] in value1,value2
는 변수의 내용이 값 목록 안에 존재하는지 점검하는 데 사용할 수 있습니다.
관련 항목
IF (expression), StringCaseSense, 할당 표현식 (:=), if var in/contains MatchList, if var between, IfInString, 블록, Else
예제
if counter >= 1 Sleep, 10 if counter >=1 ; 만약 IF에 여러 줄이 있다면, 그 줄들은 활괄호 안에 싸 넣으십시오: { WinClose, Untitled - Notepad Sleep 10 } if MyVar = %MyVar2% MsgBox MyVar와 MyVar2의 내용은 동일합니다. else if MyVar = { MsgBox, 4,, MyVar가 비어 있습니다. 계속하시겠습니까? IfMsgBox, No Return } else if MyVar <> , MsgBox MyVar의 값은 쉼표가 아닙니다. else MsgBox MyVar의 값은 쉼표입니다. if Done MsgBox 변수 Done은 비어 있지도 않고 0도 아닙니다.