프날 오토핫키 강좌  v2

⚠ 이 강좌는 오토핫키 v2를 다룹니다

지금 보시는 강좌는 널리 알려진 오토핫키(v1.1)의 차세대 버전인 오토핫키 v2를 다루고 있습니다.
이전 오토핫키 버전과는 많은 부분에서 호환이 되지 않으니, 만약 현시점에서 대중적인 '오토핫키 v1.1'의 강좌를 찾으신다면 프날 오토핫키 강좌(https://pnal.kr)를 봐주시길 바랍니다.

53. 선택 매개변수


지난 강에서 배우셨듯이, 함수를 사용하면 더욱 구조적인 코드를 작성할 수 있습니다. 이번에는 함수를 만들 때 선택 매개변수를 지정하는 방법을 말씀드리겠습니다.

선택 매개변수

내장 함수를 이용할 때, 선택 매개변수에는 인수를 작성하지 않아도 되었었죠. 우리가 만드는 함수도 이와 같이 선택 매개변수를 받도록 만들 수 있습니다. 어렵지 않습니다. 매개변수에 기본 값만 지정해주면 그 매개변수는 선택 매개변수가 됩니다.

1FunctionName(req1, req2, opt1 := 1, opt2 := "A")
2{
3 ;함수 본문
4}
함수의 정의에서 선택 매개변수로 지정하는 방법

위 코드 조각의 경우 opt1, opt2 매개변수는 선택 매개변수입니다. 이렇게 하면 함수 호출 시 선택 매개변수를 생략할 수 있으며, 생략시 그 함수 안에서 매개변수의 값은 우리가 지정해준 기본 값이 됩니다.

주의해야할 점은, 선택 매개변수는 항상 모든 필수 매개변수의 뒤에 와야한다는 것입니다. 그래서 아래와 같은 함수 정의는 잘못되었습니다.

1FunctionName(req1, opt := 1, req2)
잘못된 함수 정의 - 필수 매개변수가 선택 매개변수보다 뒤에 있음

실습

1. 선택 매개변수의 사용

1ShowMsg("ABC", "DEF")
2
3ShowMsg(string1, string2, string3 := "")
4{
5 MsgBox("필수 매개변수로 " string1 ", " string2 "가 전달되었습니다.")
6 if (string3 != "")
7 MsgBox("선택 매개변수도 전달되었습니다: " string3)
8 else
9 MsgBox("선택 매개변수는 전달되지 않았습니다.")
10}
예제 1. 기본 값이 아니면 선택 매개변수를 이용

string3 매개변수는 기본값이 빈 문자열인 선택 매개변수네요. 함수 본문에서 이 매개변수의 값이 기본값인지에 따라, 조건을 분기하여 다른 알림 상자를 출력합니다.

함수의 개념만 잘 따라오셨다면 어렵지 않은 내용이죠? 선택 매개변수를 활용하여 사용하기 좋은 함수를 만들어보세요.