⚠ 이 강좌는 오토핫키 v1을 다룹니다
지금 보시는 강좌는 구버전 오토핫키(v1.1)를 다루고 있습니다. 따라서 본 강좌의 내용은 현재 최신 오토핫키 버전 (v2.0)과 호환되지 않습니다. 구버전의 정보가 필요한 것이 아니라면, 가능한 한 새로운 사이트에 작성한 v2 강좌(https://ahkv2.pnal.dev)를 봐주시길 바랍니다.
우선, 배웠던 연산자들을 복습해보겠습니다.
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%
단, 이렇게 쓸 경우엔 %기호를 해당 매개변수의 맨 앞에 오도록 해주어야합니다.
%로 감싸는 방식과 위의 방법은 같이 쓸 수 없다는 것입니다.
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) >