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

📣 더 깊은 내용이 담긴 '프날 오토핫키 강좌 v2'의 서적판이 공개되었습니다.

가장 최신의 오토핫키를 담은 '프날 오토핫키 강좌 v2'를 책으로 만나보세요! v2 페이지에 공개된 분량보다 더욱 깊은 내용을 처음이라도 괜찮아, 오토핫키 프로그래밍을 통해 배울 수 있습니다. 전국 온/오프라인 서점에서 만나요!
책 더 알아보기 및 구매하기 

[프날 오토핫키] 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

 


< 11. 연산자의 종류 (하) | 12. 변수와 연산자의 활용 | 13. 프로그래밍 문제 (2) >

 

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

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