⚠ 이 강좌는 오토핫키 v1을 다룹니다
지금 보시는 강좌는 구버전 오토핫키(v1.1)를 다루고 있습니다. 따라서 본 강좌의 내용은 현재 최신 오토핫키 버전 (v2.0)과 호환되지 않습니다. 구버전의 정보가 필요한 것이 아니라면, 가능한 한 새로운 사이트에 작성한 v2 강좌(https://ahkv2.pnal.dev)를 봐주시길 바랍니다.
이번 강에서 알아볼 것은 이스케이프 시퀀스(Escape Sequence)입니다.
이스케이프 시퀀스
오토핫키에서 매개변수 구분은 콤마(,), 변수 사용은 퍼센트(%)를 사용한다고 말씀드렸습니다.
그렇다면, 해당 기호를 '출력'할 수는 없을까요? 아래 사진처럼 말이에요.
아래 코드처럼 해버리면 오류가 나겠죠.
MsgBox, ,
→ 콤마(,)는 매개변수 구분에 사용되므로, 의도하지 않게 매개변수가 구분되었습니다.
MsgBox, %
→ %기호는 변수 사용을 의미하므로, 닫는 %기호가 없다고 오류가 날 것입니다.
이럴 때 필요한 것이 "이스케이프 문자"입니다. 강좌의 제목인 "이스케이프 시퀀스"와는 구분되어야합니다.
- 이스케이프 문자는 뒤에 오는 문자가 특수한 기능을 하는 문자일 경우, 해당 특수한 기능을 없애 버리는 효과를 내줍니다.
- 오토핫키에서 이스케이프 문자는 ` 입니다. 키보드의 물결표를 Shift 키를 떼고 입력하시면 됩니다.
즉, 특수한 기능을 했던 콤마(,)와 퍼센트(%) 앞에 ` 를 붙여준다면 해당 콤마와 퍼센트는 특수한 기능을 하는 문자가 아닌, "글자"로서로 작동하게 됩니다.
아래 예제처럼 말입니다.
MsgBox, `, `%
반대로, 특수한 기능을 하지 않는 문자가 이스케이프 문자 뒤에 온다면 "특수한 기능을 하는 문자"로 변합니다.
이렇게 변하는 일반 문자는 많지만, 강좌에서는 하나만 다룰 것입니다. 바로 n입니다. 백 번 설명하는 것보다 한 번 예제를 실행시키는 것이 좋습니다. 아래 예제를 실행시켜보세요.
MsgBox, 안녕하세요 `n저는 홍길동입니다.
[결과]
안녕하세요
저는 홍길동입니다.
이렇듯 `n은 개행을 의미합니다.
그래서 이스케이프 시퀀스가 뭐냐면요
강좌의 제목이기도 한 이스케이프 시퀀스는 이스케이프 문자 + 뒤에오는 문자 하나입니다. 즉, 지금까지 썼던 `, `% `n등입니다.
마지막으로 하나 알아두셔야 할 것은, 이스케이프 시퀀스는 문자열 취급입니다. 즉, 아래와 같습니다.
var := 5
MsgBox, % "책상 위에 사과가" `n var "개 있습니다."
→ 오류납니다.
var := 5
MsgBox, % "책상 위에 사과가`n" var "개 있습니다."
→ 정상 작동!
< 13. 프로그래밍 문제 (2) | 14. 이스케이프 시퀀스 | 15. 핫키와 핫스트링 >