프날 오토핫키 강좌
누르면 강좌 리스트가 나와요
프날 오토핫키 강좌

⚠ 이 강좌는 오토핫키 v1을 다룹니다

지금 보시는 강좌는 구버전 오토핫키(v1.1)를 다루고 있습니다. 따라서 본 강좌의 내용은 현재 최신 오토핫키 버전 (v2.0)과 호환되지 않습니다. 구버전의 정보가 필요한 것이 아니라면, 가능한 한 새로운 사이트에 작성한 v2 강좌(https://ahkv2.pnal.dev)를 봐주시길 바랍니다.

[프날 오토핫키] 12. 변수와 연산자의 활용

우선, 배웠던 연산자들을 복습해보겠습니다.

 

1. 대입 연산자

  • 그냥 대입은 :=
  • 누적 대입은 .=

2. 산술 연산자

  • 사칙연산 +, -, *, /

3. 비교 연산자

  • 부등호 <, >, <=, >=
  • 등호 =

4. 산술-대입 연산자

  • 사칙연산 후 대입 +=, -=, *=, /=

5. 논리 연산자

  • 그리고 &&
  • 또는 ||
  • 아니다 !

6. 증감 연산자

  • 변수의 값 1 증가 ++
  • 변수의 값 1 감소 --

사실 이외에도 많은 연산자들이 있지만, 주로 쓰이는 연산자들만 강좌에 작성했습니다.


 변수를 이렇게도 쓸 수 있습니다. 

변수를 사용할 땐 %기호로 변수를 감싸준다는 내용을 작성했었습니다. 아래와 같이 말입니다.

var := 100
MsgBox, %var%

그런데, 변수가 꽤 많아지면 복잡해집니다. 변수가 10개인 경우를 생각해볼까요?

MsgBox, %a% %b% %c% %d% %e% %f% %g% %h% %i% %j%

스크립트가 너무 길어집니다. 이럴 때를 위해서, 변수는 아래처럼 %를 한 번만 쓰고도 쓸 수 있습니다.

MsgBox, % a b c d e f g h i j

이 때, 변수와 변수 사이는 띄어쓰기로 구분하며 %와 첫 변수 사이는 무조건 띄워주어야 합니다.

즉, 아래 두 경우처럼 쓰지 않도록 주의해야합니다.

MsgBox, % abcdefghij
→ 변수 a, 변수 b... 가 아니라 변수 abcefghij를 출력한다.

MsgBox, %a b c d e f g h i j
→ 오류가 나며 실행이 되지 않는다. (오류 메시지(번역): 닫는 '%'가 없는 변수명을 포함하고 있는 구문입니다.)

이렇게 변수를 사용해 줄 경우, 문자열은 따옴표를 이용해주어야 합니다.

즉, 아래 두 스크립트는 완전히 동일하게 표현됩니다.

a := 1
b := 1
c := "귀요미"
MsgBox, % a " + " b " = " c
a := 1
b := 1
c := "귀요미"
MsgBox, %a% + %b% = %c%

실행 결과
12강.ahk
0.00MB

단, 이렇게 쓸 경우엔 %기호를 해당 매개변수의 맨 앞에 오도록 해주어야합니다.

%로 감싸는 방식과 위의 방법은 같이 쓸 수 없다는 것입니다.

 

MsgBox, %a% + %b% = % c "입니다."

a와 b 변수는 %로 감싸주는 방식,
c는 %기호 + 공백으로 열어주고 변수를 사용하는 방식이며
위 예제처럼 이 두 방식이 동시에 혼용되면 안됩니다.

 

왜 이렇게 쓰나 싶으시겠지만, 가끔 필요할 때가 옵니다. 알아두면 좋은 테크닉입니다.


마지막으로 연산자를 정리한 표를 보여드리고 이번 강을 마치도록 하겠습니다.

배우지 않은 연산자 또한 있는데, 표 오른쪽 예제란을 보시면 아실겁니다.

 

연산자 (혹은 수식)

설명

종류

예제

+

더한다

산술 연산자

2 + 3 ;결과는 5

-

뺀다

산술 연산자

2 - 3 ;결과는 -1

*

곱한다

산술 연산자

2 * 3 ;결과는 6

/

나눈다

산술 연산자

2 / 3 ;결과는 0.666666

**

거듭제곱

산술 연산자

5 ** 3 ;결과는 125

//

몫을 구한다

산술 연산자

5 // 3 ;결과는 1

:=

대입한다 (집어 넣는다)

대입 연산자

a := 1

.=

누적 대입한다 (쌓는다)

대입 연산자

a .= 1

a > b

a가 b보다 크다

비교 연산자

a > b

a < b

a가 b보다 작다

비교 연산자

a < b

a >= b

a가 b보다 크거나 같다

비교 연산자

a >= b

a <= b

a가 b보다 작거나 같다

비교 연산자

a <= b

=

같다

비교 연산자

a = b

<>

다르다

비교 연산자

a <> b

+=

더해서 대입

산술/대입 연산자

a += 1

-=

빼서 대입

산술/대입 연산자

a -= 1

*=

곱해서 대입

산술/대입 연산자

a *= 2

/=

나눠서 대입

산술/대입 연산자

a /= 2

&&

그리고

논리 연산자

a = b && b = c

||

또는

논리 연산자

a = b || b = c

!

부정

논리 연산자

!= (같지 않다)

++

값을 1 증가시킨다

증감 연산자

a++

--

값을 1 가감시킨다

증감 연산자

a--

Mod(나눠지는수,나누는수)

나머지 구하기

수식

Mod(3,2) ;= 1

Ceil(수)

올림

수식

Ceil(2.666) ;=3

Floor(수)

버림

수식

Floor(2.666) ;= 2

Round(수,자릿수)

반올림

수식

Round(2.666,2) ;= 2.67

abs(수)

절댓값

수식

abs(-1) ;결과는 1

Sin(수),Cos(수),Tan(수)

사인/코사인/탄젠트

수식

Sin(30) ;결과는 0.5

 


| 12. 변수와 연산자의 활용 |