1. 변수: 데이터 저장과 관리
변수는 프로그래밍에서 데이터를 저장하고 관리하는 데 사용됩니다. AutoHotkey에서는 변수를 통해 스크립트 내에서 값을 동적으로 조작할 수 있습니다. 변수를 올바르게 사용하면 스크립트의 유연성과 효율성이 크게 향상됩니다.
1.1 변수의 정의와 선언
변수는 프로그램이 실행되는 동안 데이터를 저장하기 위한 메모리 공간입니다. AutoHotkey에서는 변수를 선언할 때 특별한 키워드가 필요하지 않습니다. 단순히 이름을 지정하고 값을 할당하면 됩니다.
myVariable := 10 ; myVariable이라는 변수를 생성하고 10으로 초기화
변수는 숫자, 문자열, 배열 등 다양한 데이터 유형을 저장할 수 있습니다. 이는 AutoHotkey의 유연성을 보여주는 중요한 특징 중 하나입니다.
1.2 변수 활용 예제
두 숫자의 합계를 구하는 예제입니다.
num1 := 5
num2 := 7
sum := num1 + num2 ; sum에 num1과 num2의 합을 저장
MsgBox % "The sum is: " . sum ; 메시지 박스로 결과 출력
이 예제에서는 num1
과 num2
라는 변수에 각각 5와 7을 할당하고, 두 변수의 합을 sum
에 저장한 후 메시지 박스로 결과를 출력합니다. 이처럼 변수를 사용하면 데이터를 쉽게 저장하고 재사용할 수 있습니다.
1.3 변수 이름 규칙
변수 이름을 지을 때는 다음과 같은 규칙을 따라야 합니다:
- 첫 글자는 문자여야 하며, 이후에는 문자와 숫자 모두 사용할 수 있습니다.
- 공백이나 특수 문자를 포함할 수 없습니다 (단, 언더스코어(_)는 가능).
- 대소문자를 구분하지 않지만, 일관성을 유지하는 것이 좋습니다.
예를 들어, myVariable
, user_name
, totalCount
는 유효한 변수 이름이지만, 1stVariable
이나 my-variable
은 유효하지 않습니다.
1.4 전역 변수와 지역 변수
- 전역 변수: 스크립트 전체에서 접근 가능합니다.
- 지역 변수: 함수 내부에서만 유효합니다.
globalVar := "I am global!"
MyFunction() {
localVar := "I am local!"
MsgBox % localVar ; 지역 변수 출력
MsgBox % globalVar ; 전역 변수 출력
}
MyFunction()
이 예제에서 globalVar
는 스크립트 전체에서 접근할 수 있지만, localVar
는 MyFunction
함수 내부에서만 유효합니다. 함수 외부에서 localVar
에 접근하려고 하면 오류가 발생합니다.
2. 연산자: 데이터 조작과 비교
연산자는 두 개 이상의 값을 비교하거나 조작하는 데 사용됩니다. AutoHotkey에서는 다양한 연산자를 제공하여 데이터 간의 관계를 설정하고 계산을 수행합니다.
2.1 연산자의 종류
- 산술 연산자: 숫자 계산
a := 10 b := 5 sum := a + b ; sum은 15 difference := a - b ; difference는 5 product := a * b ; product는 50 quotient := a / b ; quotient는 2
- 비교 연산자: 값 비교
x := 20 y := 30 if (x < y) { MsgBox, "x는 y보다 작습니다." }
- 논리 연산자: 조건 결합
isTrue := true isFalse := false if (isTrue && !isFalse) { MsgBox, "모든 조건이 참입니다." }
- 문자열 연결 연산자: 문자열 결합
firstName := "홍" lastName := "길동" fullName := firstName . lastName ; fullName은 "홍길동"
2.2 연산자 우선 순위
연산자는 우선 순위를 가지며, 산술 연산자가 비교 및 논리 연산자보다 높은 우선 순위를 가집니다.
result := 5 + 3 * 2 ; result는 11 (곱셈이 덧셈보다 먼저)
2.3 실용적인 활용 사례
연산자는 실제로 다양한 상황에서 유용하게 활용됩니다. 예를 들어, 사용자 입력을 처리하거나 반복문과 함께 사용할 수 있습니다.
inputValue := InputBox("숫자를 입력하세요:")
if (inputValue >=0 && inputValue <=100) {
MsgBox, "유효한 숫자입니다!"
} else {
MsgBox, "잘못된 숫자 범위입니다."
}
이 예제에서는 사용자로부터 입력받은 값이 0에서 100 사이인지 확인하고, 그 결과에 따라 메시지를 출력합니다.
3. 조건문: 프로그램 흐름 제어
조건문은 특정 조건이 참인지 거짓인지를 평가하고, 그 결과에 따라 다른 코드를 실행합니다. AutoHotkey에서는 if
, else if
, else
, Switch
등의 조건문을 제공합니다.
3.1 기본 조건문 (if)
number := -5
if (number > 0) {
MsgBox, "양수입니다."
} else if (number < 0) {
MsgBox, "음수입니다."
} else {
MsgBox, "영(0)입니다."
}
3.2 여러 조건 결합
age := 20
isStudent := true
if (age < 30 && isStudent) {
MsgBox, "학생 할인 적용 가능합니다."
} else {
MsgBox, "정상 요금 적용됩니다."
}
3.3 Switch 문
fruit := "사과"
Switch fruit {
case "사과":
MsgBox, "사과는 빨간색 과일입니다."
break
case "바나나":
MsgBox, "바나나는 노란색 과일입니다."
break
default:
MsgBox, "알 수 없는 과일입니다."
}
4. 반복문: 작업 반복 수행
반복문은 특정 작업을 여러 번 수행할 수 있게 해줍니다. AutoHotkey에서는 Loop
, While
, For
등의 반복문을 제공합니다.
4.1 Loop
Loop, 5 {
MsgBox % "현재 숫자: " A_Index ; 1부터 5까지 출력
}
4.2 While
counter := 5
While (counter > 0) {
MsgBox % "카운터 값: " counter
counter-- ; 카운터 감소
}
4.3 For
myArray := ["사과", "바나나", "체리"]
For index, value in myArray {
MsgBox % index ": " value ; 배열 요소 출력
}
5. 고급 활용: 변수와 연산자, 조건문, 반복문의 조합
이제까지 배운 변수, 연산자, 조건문, 반복문을 조합하여 더 복잡한 스크립트를 작성할 수 있습니다. 예를 들어, 사용자로부터 여러 개의 숫자를 입력받아 평균을 계산하는 스크립트를 작성해보겠습니다.
total := 0
count := 0
Loop {
input := InputBox("숫자를 입력하세요 (종료하려면 'q' 입력):")
if (input = "q") {
break
}
if (input is number) {
total += input
count++
} else {
MsgBox, "숫자를 입력해주세요."
}
}
if (count > 0) {
average := total / count
MsgBox % "평균값은 " . average . "입니다."
} else {
MsgBox, "입력된 숫자가 없습니다."
}
이 스크립트는 사용자로부터 숫자를 입력받아 총합과 개수를 계산하고, 평균값을 출력합니다. 사용자가 'q'를 입력하면 반복문을 종료하고 결과를 출력합니다.
6. 실용적인 예제: 파일 처리 자동화
AutoHotkey를 사용하여 파일 처리 작업을 자동화할 수도 있습니다. 예를 들어, 특정 폴더 내의 모든 텍스트 파일을 읽어서 특정 단어를 검색하고, 그 결과를 로그 파일에 저장하는 스크립트를 작성해보겠습니다.
searchWord := "AutoHotkey"
logFile := "search_log.txt"
; 폴더 내의 모든 파일을 순회
Loop, Files, C:\MyFolder\*.txt
{
filePath := A_LoopFileFullPath
FileRead, content, %filePath%
; 특정 단어 검색
if (InStr(content, searchWord)) {
logEntry := "파일: " . filePath . "에서 단어를 찾았습니다."
FileAppend, %logEntry%`n, %logFile%
}
}
MsgBox, "검색이 완료되었습니다. 결과는 " . logFile . "에 저장되었습니다."
이 스크립트는 C:\MyFolder
폴더 내의 모든 텍스트 파일을 읽어서 AutoHotkey
라는 단어가 포함된 파일을 찾고, 그 결과를 search_log.txt
파일에 저장합니다.
7. 결론
AutoHotkey의 기본 문법인 변수, 연산자, 조건문, 반복문은 스크립트 작성의 핵심 요소입니다. 이들을 잘 이해하고 활용하면 다양한 작업을 자동화하고, 복잡한 로직을 구현할 수 있습니다. 위의 예제들을 참고하여 직접 스크립트를 작성해 보시길 추천드립니다. AutoHotkey를 통해 일상의 반복적인 작업을 자동화하고, 더 나은 생산성을 경험해보세요. Happy coding! 😊
'ETC > Auto Hotkey' 카테고리의 다른 글
고급 스크립팅: 함수, 객체, 클래스를 활용한 코드 구조화와 재사용성 향상 (0) | 2025.02.05 |
---|---|
AutoHotkey를 활용한 핫키와 핫스트링: 생산성 향상의 비결 (0) | 2025.02.05 |
AutoHotkey로 업무 자동화, 게임 매크로, 커스텀 핫키 설정하기 (0) | 2025.02.04 |
AutoHotkey 스크립트 디버깅 및 최적화: 효율적이고 안정적인 스크립트 만들기 (0) | 2025.02.04 |
AutoHotkey 고급 기능 활용: 함수, 라이브러리, GUI, DLL 호출 및 외부 프로그램 제어 (0) | 2025.02.04 |