이번 강에서 알아볼 것은 이스케이프 시퀀스(Escape Sequence)입니다.


 이스케이프 시퀀스 

오토핫키에서 매개변수 구분은 콤마(,), 변수 사용은 퍼센트(%)를 사용한다고 말씀드렸습니다.

 

그렇다면, 해당 기호를 '출력'할 수는 없을까요? 아래 사진처럼 말이에요.

아래 코드처럼 해버리면 오류가 나겠죠.

MsgBox, ,
→ 콤마(,)는 매개변수 구분에 사용되므로, 의도하지 않게 매개변수가 구분되었습니다.

MsgBox, %
→ %기호는 변수 사용을 의미하므로, 닫는 %기호가 없다고 오류가 날 것입니다.

이럴 때 필요한 것이 "이스케이프 문자"입니다. 강좌의 제목인 "이스케이프 시퀀스"와는 구분되어야합니다.

 

  1. 이스케이프 문자는 뒤에 오는 문자가 특수한 기능을 하는 문자일 경우, 해당 특수한 기능을 없애 버리는 효과를 내줍니다.
  2. 오토핫키에서 이스케이프 문자는 입니다. 키보드의 물결표를 Shift 키를 떼고 입력하시면 됩니다.

 

즉, 특수한 기능을 했던 콤마(,)와 퍼센트(%) 앞에 를 붙여준다면 해당 콤마와 퍼센트는 특수한 기능을 하는 문자가 아닌, "글자"로서로 작동하게 됩니다.

 

아래 예제처럼 말입니다.

MsgBox, `, `%

14강 1.ahk
0.00MB

반대로, 특수한 기능을 하지 않는 문자가 이스케이프 문자 뒤에 온다면 "특수한 기능을 하는 문자"로 변합니다.

 

이렇게 변하는 일반 문자는 많지만, 강좌에서는 하나만 다룰 것입니다. 바로 n입니다. 백 번 설명하는 것보다 한 번 예제를 실행시키는 것이 좋습니다. 아래 예제를 실행시켜보세요.

MsgBox, 안녕하세요 `n저는 홍길동입니다.

14강 2.ahk
0.00MB

[결과]
안녕하세요
저는 홍길동입니다.

이렇듯 `n은 개행을 의미합니다.


 그래서 이스케이프 시퀀스가 뭐냐면요 

강좌의 제목이기도 한 이스케이프 시퀀스는 이스케이프 문자 + 뒤에오는 문자 하나입니다. 즉, 지금까지 썼던 `,   `%   `n등입니다.

 

마지막으로 하나 알아두셔야 할 것은, 이스케이프 시퀀스는 문자열 취급입니다. 즉, 아래와 같습니다.

var := 5
MsgBox, % "책상 위에 사과가" `n var "개 있습니다."
→ 오류납니다.

var := 5
MsgBox, % "책상 위에 사과가`n" var "개 있습니다."
→ 정상 작동!

| 14. 이스케이프 시퀀스 |