AHK 변수의 특성
- 일반적 프로그래밍과 달리 변수 선언이 필요없습니다. (상황에 따라필요하긴하지만, 함수를 만들지 않을 경우 쓸일
이 없습니다.)
- 변수를 쓰면 숫자나 문자로 알아서 판단합니다. (c언어에서 char형 "123"과 in형 123은 큰 차이가 있습니다.)
- 한글,영어,숫자의 조합과 특수문자( # _ @ $ ? [ ] )(괄호안의것)가 사용 가능합니다.)
*참조 : goto문의 경우 특수문자활용이 더 넓습니다.
변수 대입법
- 대입하는 방법에는 =과 :=이 잇습니다.
= 의 사용방법
MyNumber = 123
MyString = This is a literal string. ; 문자열을 입력할때 그냥 씁니다.
CopyOfVar = %MyNumber% ; 이미 값을 지닌 변수를 다른 변수에 대입할때, %%를 사용합니다.
msgbox, %MyNumber% %MyString%
(msgbox는 작은 새창을 띄워 지정한것을 출력해줍니다.)
:= 의 사용방법
MyNumber := 123
MyString := "This is a literal string." ; 문자열을 입력할때 ""를 사용합니다.
CopyOfVar := Var ; 이미 값을 지닌 변수를 다른 변수에 대입할때, 그냥 대입니다.
msgbox %MyNumber% %MyString%
- 변수를 비워주는 방법
MyVar =
MyVar := "" ; 설명서가 가장 추천하는 방식
MyVar :=
*참조 : 설명서에서보면 = 로 비우면 안에 문자두개가 보이지 않게 들어있다고합니다. 하지만, 저 설명에 메모리관
련 설명이라면, 무시할만 합니다.
- 변수에서 사용되는 % 활용법 두가지
%%의 사용
Var1=10
Var2=%Var2%
msgbox %Var1%
%의 사용 (%%보다 응용도는 좋으나, 약간 어렵습니다)
Var1=10
Var2=% Var1
Var3=2
msgbox % "front " Var%Var3% " back" ;여기서 Var%Var3%는 Var3가 2이므로 Var2입니다.
msgbox % "front " . Var%Var3% . " back" ;여기서 . Var%Var3% . 는 띄어쓰기로 구분만 한다면, .뿐만아니라
수식에 관련된 문자가 아니면 사용 가능합니다. ex) . @ # [ ] _
연산자 정리(연산시에는 =가 아닌 :=를 사용해 대입하여아한다.)
- 기본 + - * /
Var1:=1+1 ; 결과 2
Var2:=2-1 ; 결과 1
Var3:=3*2 ; 결과 6
Var4:=3/2 ; 결과 1.500000 ;나누기입니다.
- 기본변형 ++ --
a=3
b=3
c=3
d=3
Var1:=++a ; 결과 Var1=4, a=4
Var2:=b++ ; 결과 Var1=3, a=4
Var3:=--c ; 결과 Var1=2, a=2
Var4:=d-- ; 결과 Var1=3, a=2
- 기본 수학연산 **(제곱값구하기) //(몫구하기) mod(나머지구하기)
Var1:=3**4 ; 결과 Var1=81 3의 4제곱
Var2:=18//4 ; 결과 Var2=4 몫만표시
Var3:=mod(18,4) ; 결과 var3=2 나머지만 표시