[7] 오토핫키 완벽분해 강좌 - Loop 문.

Posted by 아이티프로13
2018. 12. 16. 22:26 프로그래밍/AutohotKey



안녕하세요. 쿠과자입니다.
오늘은 오토핫키에서 가장 중요하다고 할수있는 loop 문에 대해서 알아보고자합니다.


원래는 변수나 그런거 먼저 알려드리고싶지만

사실 그런걸 배울려고 들어오신 분들이 아니라는걸 알기에...

그리고 사실 저도 그 개념을 설명하기 귀찮기에...

그냥 손에 잡히는대로 포스팅하고 있습니다.


암튼 시작해봅시다.



반복문 Loop


Loop , Count


Loop. 직역하면 '고리' 이겠지만 여기에선 '반복'을 뜻합니다.

Loop, [횟수] 를 입력하고

아래에 중괄호를 씌워

행동을 몇회 반복할것인지를 정합니다.

뒤의 횟수가 생략되면 무한이 실행됩니다.


F5::

loop 3

{

 send,aaa

 send,{enter}

}

return


위와같이 예제 스크립트를 그대로 작성해서 실행해보면..



위처럼 중괄호 씌운 aaa와 엔터 누르는걸 loop 설정해준 3번 반복하는것을 알 수 있습니다.


F5::

loop

{

send,aaa

send,{enter}

sleep,500

}

Return


F6::

exitapp

위와 같이 Loop 안에 아무것도 없이 남겨놓으면.. 당연히 무한 반복하겠죠??


여기서 테스트할때 주의사항!!

이렇게 하는경우 F6을 눌러 쓰레드를 종료시켜주지 않으면 컴퓨터를 종료시켜줄때까지 계속되고,

중간에 Sleep이 없으면 본인이 누르는 키가 프로그램에 의해 씹히므로

반.드.시 저 Sleep과 Exitapp 구문을 넣어서 테스트해주도록 합시다.



예상대로 F5를 누르니 F6을 누를때까지 무한반복하는것을 보실 수 있습니다.


Loop한 횟수를 아는 %A_index%

F5::

loop

{

msgbox,%A_index%

}

Return



A_index는 변수의 일종으로, 추후에 서술하겠지만

Loop 안에서 몇회 Loop 했는지를 알려줍니다.

다른 일반적인 프로그래밍 언어와 다르게, Autohotkey에서 A_index는 무조건 1부터 시작합니다.


다른 프로그래밍 언어에서 넘어오신 분은 이점 주의해주세요.


위와 같이 Loop 한 횟수를 차례대로 보여주는 것을 보실 수 있습니다.



While 문, For 문


다른 프로그래밍 언어에서 넘어오셨다면? '엥? 왜 While문이나 For문을 안쓰고 Loop를 쓰지?' 같은 생각을 하시는 분들도 계실겁니다.


하지만, 이는 변수의 개념을 알아야 하고

사실 오토핫키 내에선 와일문과 포문을 Loop로 충분히 대체가 가능하기 때문에,

실제 실무 용도에서도 별로 사용하지 않는 편입니다.


궁금하신 분들은 오토핫키 문서를 참고해보세요

While Loop : https://autohotkey.com/docs/commands/While.htm

For Loop : https://autohotkey.com/docs/commands/For.htm


나중에 정말 포스팅을 끝까지 마치면 외전같은 느낌으로 포스팅도 할수 있겠지만..

저같은 경우 비추하겠습니다.




공감 버튼을 눌러주시면

블로거에게 힘이 됩니다!