⚠ 이 강좌는 오토핫키 v2를 다룹니다
지금 보시는 강좌는 널리 알려진 오토핫키(v1.1)의 차세대 버전인 오토핫키 v2를 다루고 있습니다.
이전 오토핫키 버전과는 많은 부분에서 호환이 되지 않으니,
만약 현시점에서 대중적인 '오토핫키 v1.1'의 강좌를 찾으신다면 프날 오토핫키 강좌(https://pnal.kr)를 봐주시길 바랍니다.
46. 지나쳤던 내용
한 편의 강좌로 구성하기엔 내용이 부족하지만, 알면 좋은 내용을 한데 엮어보았습니다.
주석
코드를 이해하기 쉽게 주석(Comment)을 달 수 있습니다.
오토핫키에서 한 줄 주석은 ;
기호로, 여러 줄 주석은 /*
와 */
로 지정할 수 있습니다.
주석 안의 내용은 인터프리터가 해석하지 않기 때문에, 자유롭게 설명을 적을 수 있습니다.
1 ;한 줄 주석
2
3 /*
4 여러 줄 주석
5 여러 줄 주석
6 여러 줄 주석
7 */
핫키 블록의 생략
핫키가 해야할 동작이 한 줄이면 그 블록을 생략하고, 핫키 구문의 ::
뒤에 이어서 명령을 적어줄 수 있습니다.
제어문의 내용이 한 줄일 때 그 블록을 생략했던 것과 마찬가지입니다.
예를 들어서, 아래와 같은 핫키 구문은 블록을 지정해주지 않았지만 올바르게 작동합니다.
1 F1::ExitApp
2 F2::MsgBox("Hello")
3 F3::Send("123")
앞으로 강좌에서 필요한 경우, 위와 같이 블록을 생략하여 예시를 작성하도록 하겠습니다.
함수 호출 시 괄호의 생략
함수를 호출할 때, 그 반환 값이 필요하지 않으면서 몇 가지 조건만 만족한다면 괄호를 생략할 수 있습니다.
이 경우 함수명과 매개변수 사이는 반드시 띄워줍니다.
예를 들어서, MsgBox
는 아래와 같이 쓸 수 있습니다.
1 MsgBox "괄호가 생략된 MsgBox"
다만, 괄호를 생략할 수 있는 조건을 설명하기 까다로우며, 다른 프로그래밍 언어는 대부분 () 기호를 생략할 수 없기 때문에 저는 오토핫키 v2에서도 () 기호를 생략하지 않는 것을 좋아합니다. 따라서 강좌에서도 () 기호를 생략하지 않고 있습니다. 그 편이 더욱 일관적이고 명확하다고 생각합니다.
Tip: 괄호 생략에 대한 공식 문서
대부분 함수 호출 상황에선 괄호를 생략할 수 있지만, 일부 생략할 수 없는 경우가 있습니다. 그 경우를 이곳에서 설명하기엔 너무 길어지고, 무엇보다 "모든 함수 호출에는 괄호를 붙인다"라는 원칙을 세우면 고려하지 않아도 될 문제이니 아래와 같이 공식 문서의 해당 설명 연결로 갈음합니다.
https://lexikos.github.io/v2/docs/Language.htm#function-call-statements