컴퓨터프로그래밍/autoHotKey(매크로)

AutoHotKey - 함수의 사용

zelkova 2016. 11. 30. 11:12

<목차로 돌아가기>


  함수의 사용

함수는 서브루틴 (Gosub)과 비슷합니다. 단, 호출자로부터 매개변수(입력)를 받을 수 있다는 점은 다릅니다. 게다가, 함수는 선택적으로 값을 호출자에게 돌려줄 수 있습니다. 다음의 간단한 함수를 연구해 보겠습니다. 두 개의 숫자를 받고 그 합을 돌려줍니다:

Add(x, y)
{
    return x + y   ; "Return"은 표현식을 기대합니다.
}

위의 코드는 함수 정의라고 알려져 있는데 "Add" (대소문자 구분 없음)라는 이름의 함수를 생성하고 그 함수를 호출하려면 누구라도 정확하게 두 개의 매개변수 (x와 y)를 제공하도록 확립합니다. 이 함수를 호출하려면, :=연산자로 그의 결과를 변수에 할당합니다. 예를 들어:

Var := Add(2, 3)  ; 숫자 5가 Var에 저장됩니다.

또, 함수는 그의 반환 값을 저장하지 않고서도 호출할 수 있습니다:

Add(2, 3)

그러나 이 경우, 함수가 돌려주는 값은 모두 폐기됩니다; 그래서 함수가 반환 값을 돌려주는 일 외에 다른 효과를 생산하지 않는 한, 이 호출은 어떤 목적에도 기여하지 못합니다.

함수 호출은 표현식이기 때문에, 매개변수 목록의 변수 이름은 퍼센트 사인으로 둘러싸지 않아도 됩니다. 대조적으로, 기호 문자열을 겹따옴표로 둘러 싸야 합니다. 예를 들어:

if InStr(MyVar, "fox")
    MsgBox 변수 MyVar에는 단어 fox가 들어 있습니다.

마지막으로, 함수는 다른 명령어의 매개변수에서 호출할 수도 있습니다 (StringLen의 매개변수와 같이 OutputVar와 InputVar 같은 매개변수는 예외입니다). 그렇지만, 표현식을 지원하지 않는 매개변수는 다음 예제와 같이 반드시 "% " 를 접두기호로 사용해야 합니다:

MsgBox % "정답은 다음과 같습니다: " . Add(3, 2)

"% " 접두기호는 또 근본적으로 표현식을 지원하는 매개변수에도 허용됩니다. 그러나 그냥 무시됩니다.

반응형

'컴퓨터프로그래밍 > autoHotKey(매크로)' 카테고리의 다른 글

AutoHotKey- GUI컴포넌트  (0) 2017.02.08
AutoHotKey - GUI  (0) 2017.02.08
AutoHotKey 배열의 사용  (0) 2016.11.03
AutoHotKey - 조건문의 사용  (0) 2016.10.02
AutoHotKey - 매크로 반복하기  (0) 2016.09.27