반응형

우리는 사실 하루에도 수백 번씩 조건문을 실행하며 살고 있습니다.

배고프 밥을 먹고,
졸리 자고,
월급날이 행복해집니다.

"~라면, ~한다"

이게 전부입니다. 프로그래밍의 조건문도 이것과 똑같습니다.
지난 시간에 배운 변수와 연산자를 기억하시나요?
오늘은 드디어 그 연산자를 실제로 써먹는 곳, If문을 배워봅니다.

If문

조건이 맞으면 실행하고, 틀리면 실행하지 않는 문입니다.
신호등을 떠올려보세요.

신호등이 초록불이면 → 건넌다
신호등이 빨간불이면 → 멈춘다

컴퓨터는 스스로 판단하지 못합니다.
그래서 우리가 "이 조건이 맞으면 이걸 해라"라고 알려줘야 하는데,
그 역할을 하는 것이 If문입니다.

그런데 여기서 초보자분들이 반드시 겪는 문제가 하나 있습니다.
인터넷에서 오토핫키 예제를 찾아보면, 분명히 같은 If문인데 생긴 게 전부 다릅니다.

IfEqual, 대한민국, 사자

if 대한민국 = 사자

if (대한민국 = "사자")

셋 다 If문이고, 셋 다 작동합니다.
"아니 뭐가 이렇게 많아? 어떤 걸 써야 하는데?"

오늘 이 글 하나로 정리해드리겠습니다.
결론부터 말씀드리면 여러분은 3번만 쓰시면 됩니다.
하지만 1번, 2번도 반드시 알아야 합니다. 남이 짠 코드를 읽을 때 나오거든요.

작성법 1 : IfEqual (옛날 방식)

대한민국 := "사자"

IfEqual, 대한민국, 사자
    MsgBox, 대한민국에 사자가 있습니다!

IfEqual은 말 그대로 "만약 같다면" 이라는 명령어입니다.
"대한민국이라는 변수 안에, 사자라는 데이터가 들어있다면" 아랫줄을 실행합니다.

이 방식은 오토핫키 아주 초창기의 방식입니다.
지금은 거의 쓰지 않지만, 오래된 강좌나 오래된 매크로 소스에 자주 등장하기 때문에
"아, 이거 If문이구나"라고 읽을 줄만 알면 됩니다.

IfEqual 말고도 형제들이 있습니다.
IfNotEqual(같지 않다면), IfGreater(크다면), IfLess(작다면)...
전부 외울 필요 없습니다. 어차피 안 쓸 거니까요.

작성법 2 : If 변수 = 값 (괄호 없는 방식)

대한민국 := "사자"

if 대한민국 = 사자
    MsgBox, 대한민국에 사자가 있습니다!

IfEqual보다 조금 더 발전한 형태입니다. 우리가 아는 "if"라는 단어가 드디어 등장했죠.
그런데 여기서 초보자분들이 가장 많이 실수하는 부분이 나옵니다. 잘 보세요.

괄호가 없는 If문에서는, 변수에 % 를 붙이지 않습니다.

"어? 변수를 쓸 땐 %변수% 라면서요?"

맞습니다. 그런데 괄호 없는 If문에서 왼쪽에 오는 변수는 % 없이 씁니다.
대신, 비교하는 값 쪽에 변수를 넣고 싶을 때는 % 를 붙입니다.

대한민국 := "사자"
일본 := "사자"

if 대한민국 = %일본%
    MsgBox, 대한민국과 일본에 같은 동물이 있습니다!

왼쪽 변수는 % 없이, 오른쪽 변수는 % 를 붙여서... 헷갈리시죠?

바로 이 헷갈림 때문에, 이 방식도 추천하지 않습니다.
인터넷 예제를 복사했는데 내 코드에서만 안 된다면,
십중팔구 이 % 규칙이 섞여서 그렇습니다.

작성법 3 : If (표현식) ★ 이것만 쓰세요

대한민국 := "사자"

if (대한민국 = "사자")
    MsgBox, 대한민국에 사자가 있습니다!

괄호 ( ) 가 등장했습니다. 그리고 규칙이 아주 깔끔해집니다.

괄호 안에서는 % 를 아예 쓰지 않습니다.
변수는 그냥 이름만, 글자(문자열)는 따옴표 " " 로 감쌉니다.
  • 대한민국 → 변수니까 그대로
  • "사자" → 글자 데이터니까 따옴표

변수끼리 비교할 때도 규칙이 그대로입니다.

대한민국 := "사자"
일본 := "사자"

if (대한민국 = 일본)
    MsgBox, 대한민국과 일본에 같은 동물이 있습니다!

% 가 어디에도 없습니다. 외울 게 없죠.
그리고 지난 시간에 배운 연산자들( >, <, >=, <= )도 괄호 안에서 전부 사용할 수 있습니다.

나이 := 20

if (나이 >= 19)
    MsgBox, 성인입니다!

3가지 방식 총정리

  작성법 % 규칙 추천
1 IfEqual, 변수, 값 값에 %변수% 가능 ❌ 읽을 줄만 알면 됨
2 if 변수 = 값 왼쪽은 % 없이, 오른쪽은 %변수% ❌ 헷갈림의 주범
3 if (변수 = "값") % 사용 안 함, 글자는 " " 이것만 쓰세요

딱 하나만 기억하세요.

"괄호가 보이면 % 금지, 글자는 따옴표"

오늘의 실습

아래 코드를 복사해서 그대로 실행해보세요.

대한민국 := "사자"

if (대한민국 = "사자")
    MsgBox, 대한민국에 사자가 있습니다!

if (대한민국 = "호랑이")
    MsgBox, 이 메시지는 절대 나오지 않습니다.

 

반응형

+ Recent posts