본문 바로가기
코딩/오토핫키

오토핫키만의 변수와 연산자 이해하기

by DIYver 2020. 10. 20.

 

이번에는 오토핫키만의 변수체계와 연산자를 알아보도록 한다.

 

오토핫키는 다른 프로그래밍 언어와 다르게 변수 선언도 없고, 연산자 사용도 좀 다르다.

이 부분은 따로 기억해두어야 코딩하는데 있어서 문제가 생기지 않을 것이다.

그냥 C언어 코딩하듯이 했다가 왜 제대로 작동 안하지? 라는 생각이 들더라도 어디가 문제인지 찾기 힘들테니깐 말이다.

 

일단 오토핫키 에서도 변수는 다른 프로그래밍 언어와 마찬가지로 값을  저장하는 역할을 한다.

그 값이 숫자일 수도 있고, 문자일 수도 있고, 문자열일 수도 있다.

다만 앞에 자료형을 붙여주지 않는다.

 

그러면 그 변수가 숫자 정보를 담고있는지, 문자정보를 담고 있는지는 어떻게 알 수 있냐가 궁금해져야 한다.

바로 연산자를 통해서 숫자형태로 저장하거나, 문자형태로 저장한다.

 

이 부분이 오토핫키가 다른 프로그래밍 언어와 가장 큰 차이가 아닐까 싶다.

 

변수 사용 방법은  아래와 같다.

변수 = 값

 - 값을 문자로 인식

변수 := 값

 - 값을 숫자로 인식

변수 := '값'

 - 값을 문자로 인식

변수 := "값"

 - 값을 문자열로 인식

 

여기서 이제 연산자를 제대로 알아야 위의 내용이 이해가 될 것이다.

생전 처음보는 연산자들이 등장했다.

콜론과 이퀄 문자를 같이 쓰는 연산자라니;;; 

 

 

연산자를 살펴보자.

연산자의 종류는 산술연산자, 대입연산자, 비교연산자, 논리연산자, 증감연산자로 5가지가 있다.

 

 

 

 

이번 포스트에서 제일 중요한 연산자는 := 연산자이다.

 

Loop_Count := 0

- 위의 코드의 뜻은 Loop_Count 를 선언함과 동시에 0을 대입해 주었다는 뜻이 된다.

 

Loop_Count := '0'

- 위의 코드의 뜻은 Loop_Count 를 선언함과 동시에 문자 '0' 을 대입해 주었다는 뜻이 된다.

 

 

또 새로운 연산자인 .= 연산자도 살펴보자.

 

Loop_count := 1

Loop_count .= 2

- 위의 코드의 뜻은 Loop_count에 1 을 대입하고, 2를 옆에 붙이라는 뜻이다.

  Loop_count 의 값에는 12 가 저장되어 있게 된다.

 

 

마지막으로 보지도 못했던 연산자인 <> 연산자도 살펴보자.

 

C언어 계열에서 사용하던 !=  연산자가 오토핫키에서는 <> 로 쓰인다.

if (val <> 1)

 - 위의 코드의 뜻은 val 변수의 값이 1과 다르면 참, 같으면 거짓 이라는 뜻이다.

 

 

 

 

연산자는 다 살펴보았고,

이제 좀 더 중요한 것을 살펴봐야한다.

 

C언어에서 sprintf, printf, scanf 함수를 사용했을때, 변수의 자료형에 따라서 %d, %f 와 같은 표현을 사용했었다.

오토핫키에서는 변수의 양옆에 % 를 붙이면 된다.

 

예를 들면,

val := 1

val += 5

MsgBox, %val% 

위의 코드를 실행하면 메세지창으로 6이라는 결과가  출력된다.

 

 

이 표현이 중요한 이유는 외부로 변수값을 전송해야 할 때가 있는데,

그럴 때 이렇게 표현을 해주어야되기 때문이다.

 

 

 

댓글