📣 더 깊은 내용이 담긴 '프날 오토핫키 강좌 v2'의 서적판이 공개되었습니다.
가장 최신의 오토핫키를 담은 '프날 오토핫키 강좌 v2'를 책으로 만나보세요!
v2 페이지에 공개된 분량보다 더욱 깊은 내용을 처음이라도 괜찮아, 오토핫키 프로그래밍을 통해 배울 수 있습니다.
전국 온/오프라인 서점에서 만나요!
책 더 알아보기 및 구매하기
오토핫키를 포함해서, 대부분의 프로그래밍 언어를 배울 때 가장 중요시되는 파트가 세 가지가 있습니다.
- 변수(연산자)
- 반복문
- 조건문
이 세 내용은 한 번만 보지 말고 계속 보면서 "떡 주무르듯" 다룰 수 있어야합니다. 이번 강에서는 이 셋 중 하나인 "반복문"에 대해 배워보겠습니다.
반복을 시켜주는 Loop
반복문은 특정 부분을 "구간 반복"해주는 구문이고, 오토핫키에선 이 반복문을 Loop라는 명령어로 구현합니다. 매개변수는 아래와 같습니다.
Loop [, Count]
Count 파라미터에는 반복 횟수가 들어가주면 됩니다.
Loop는 반복문이라고 했습니다. 그렇다면 반복의 시작과 끝을 정해주어야합니다. 오토핫키에서 반복의 시작과 끝은 { 여는 중괄호와 닫는 중괄호 } 를 사용합니다.
아래처럼, 반복의 시작 부분에 반복문을 써준 후 중괄호로 범위를 지정해주시면 됩니다.
Loop, 5
{
MsgBox, 이 메시지 박스는 총 다섯 번 나옵니다.
}
아래처럼 반복문 안에 반복문을 겹쳐 쓸 수도 있습니다. 안쪽 반복문이 5회 반복한 후 탈출해도, 다시 바깥쪽 반복문이 반복되기 때문에 안쪽으로 다시 들어갈 것입니다.
결과적으로 MsgBox는 총 15번 열릴 것입니다.
a := 0
b := 0
Loop, 3
{
a++
Loop, 5
{
b++
MsgBox, 바깥쪽 반복문은 %a%회`, 안쪽 반복문은 %b%회 반복했습니다.
}
b := 0
}
ExitApp
이러한 2중 구조는 앞으로도 자주 쓰시게 되니 반드시 연습하셔야합니다. 다소 어려울지라도 위 예제는 반드시 이해해주세요. 2중 반복문 구조 중 제일 쉬운 형태입니다.
어려울 수도 있지만, 구구단 5단부터 7단까지를 출력해보도록 할까요? 동영상처럼 말입니다.
스크립트 파일은 제공하나, 이왕이면 30분정도는 고민해보신 후 열어보세요. 2중 반복문만큼 잘 쓰이는 구문도 없기 때문에, 최대한 실력을 키워야합니다.
내장 변수 A_index를 소개합니다
변수에 값을 대입해주지 않아도 쓸 수 있는 변수가 있습니다. 기본적으로 내장되어있다는 뜻에서 '내장 변수'라고 부르며, 변수명 앞엔 A라는 접두어가 붙습니다.
반복문 내에서 쓸 수있는 내장 변수는 A_index가 있습니다. 이 변수 안엔 반복문의 반복 횟수가 담겨 있습니다.
아래 예제를 보시면 이해가 쉽습니다.
Loop, 5
{
MsgBox, %A_index%회 반복했습니다.
}
ExitApp
반복문을 탈출해주는 Break
Break라는 명령어가 있습니다. 반복문을 진행하다 Break를 만나면 해당 반복문을 탈출시켜주는 명령어입니다.
매개변수는 별도로 있으나, 설명 드리지 않겠습니다. 다만 Break 뒤에 숫자가 붙는다면 그 숫자 만큼의 반복문을 탈출해준다고 생각하시면 됩니다. 아무것도 쓰지 않으면 가장 가까운 한 개의 반복문만 탈출합니다.
Loop
{
..//스크립트
Break
}
→ Break를 만나면 반복문을 탈출합니다.
Loop
{
Loop
{
..//스크립트
Break, 2
}
}
→ 두 개의 반복문이 탈출됩니다.
Break는 27강부터 배울 조건문과 결합되어야 유용하게 쓸 수 있습니다.
지금은 그냥 이런게 있구나 하고 넘어가주세요.
Loop는 사실 굉장히 많은 용법이 있습니다. 다만 너무 심화적인 과정이라서 기초 강좌에는 어울리지 않아 제외했습니다.
특히나 중요하게 보셔야 할 부분은 2중 반복문 구조입니다. 스크립트에 줄 번호를 매겨서, 몇 번 줄을 이동중인지 생각해보시면 쉽게 이해가 가능할겁니다.
< 24. 프로그래밍 문제 (5) | 25. Loop | 26. 프로그래밍 문제 (6) >
⚠ 이 강좌는 오토핫키 v1을 다룹니다
지금 보시는 강좌는 구버전 오토핫키(v1.1)를 다루고 있습니다. 따라서 본 강좌의 내용은 현재 최신 오토핫키 버전 (v2.0)과 호환되지 않습니다. 구버전의 정보가 필요한 것이 아니라면, 가능한 한 새로운 사이트에 작성한 v2 강좌(https://ahkv2.pnal.dev)를 봐주시길 바랍니다.