프날 오토핫키 강좌  v2

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

지금 보시는 강좌는 과거 오랜 시간동안 알려진 오토핫키(v1.1)의 차세대 버전인 오토핫키 v2를 다루고 있습니다.
만약 구버전인 '오토핫키 v1.1'의 강좌를 찾으신다면 프날 오토핫키 강좌(https://pnal.kr)를 봐주시면 되지만, 새로 오토핫키를 배우신다면 v2 버전을 배우시는 것을 강력히 추천드립니다.

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

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

질문하러 가기