ÇÔ¼ö

¸ñÂ÷

¼Ò°³¿Í °£´ÜÇÑ ¿¹Á¦

ÇÔ¼ö´Â ¼­ºê·çƾ (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)

"% " Á¢µÎ±âÈ£´Â ¶Ç ±Ùº»ÀûÀ¸·Î Ç¥Çö½ÄÀ» Áö¿øÇÏ´Â ¸Å°³º¯¼ö¿¡µµ Çã¿ëµË´Ï´Ù. ±×·¯³ª ±×³É ¹«½ÃµË´Ï´Ù.

¸Å°³º¯¼ö

ÇÔ¼ö°¡ Á¤ÀÇµÉ ¶§, ±×ÀÇ ¸Å°³º¯¼ö´Â ÇÔ¼ö À̸§ ¿· °ýÈ£ ¾È¿¡ ³ª¿­µË´Ï´Ù (ÇÔ¼ö¿Í ¿©´Â °ýÈ£ »çÀÌ¿¡ °ø°£ÀÌ ÀÖÀ¸¸é ¾È µË´Ï´Ù). ÇÔ¼ö°¡ ¸Å°³º¯¼ö¸¦ ¹ÞÁö ¾ÊÀ¸¸é, °ýÈ£¸¦ ºó ä·Î µÓ´Ï´Ù: GetCurrentTimestamp().

ByRef ¸Å°³º¯¼ö: ÇÔ¼öÀÇ °üÁ¡¿¡¼­, ¸Å°³º¯¼ö´Â º»ÁúÀûÀ¸·Î Áö¿ª º¯¼ö¿Í ¶È°°½À´Ï´Ù. ±×·¯³ª ´ÙÀ½ ¿¹Á¦¿Í °°ÀÌ ByRef·Î Á¤ÀÇµÈ´Ù¸é ´Ù¸¨´Ï´Ù:

Swap(ByRef Left, ByRef Right)
{
    temp := Left
    Left := Right
    Right := temp
}

À§ÀÇ ¿¹Á¦¿¡¼­, ByRef¸¦ »ç¿ëÇÏ¸é °¢ ¸Å°³º¯¼öµéÀÌ È£ÃâÀڷκÎÅÍ µé¾î¿À´Â º¯¼ö¿¡ ´ëÇÏ¿© º°¸íÀÌ µË´Ï´Ù. ´Ù¸¥ ¸»·Î, ¸Å°³º¯¼ö¿Í È£ÃâÀÚÀÇ º¯¼ö´Â ¸ðµÎ ¸Þ¸ð¸®ÀÇ °°Àº ³»¿ëÀ» °¡¸®Åµ´Ï´Ù. ÀÌ ¶§¹®¿¡ Swap ÇÔ¼ö´Â È£ÃâÀÚÀÇ º¯¼ö¸¦ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. LeftÀÇ ³»¿ëÀ» RightÀ¸·Î ±×¸®°í ±× ¹Ý´ë·Î À̵¿½Ãų ¼ö ÀÖ½À´Ï´Ù.

´ëÁ¶ÀûÀ¸·Î, ByRef°¡ À§ÀÇ ¿¹Á¦¿¡¼­ »ç¿ëµÇÁö ¾Ê¾Ò´Ù¸é, Left¿Í Right´Â È£ÃâÀÚ º¯¼öÀÇ »çº»ÀÌ µÇ¾î¾ß ÇÕ´Ï´Ù. ±×·¡¼­ Swap ÇÔ¼ö´Â ¿ÜºÎÀûÀ¸·Î ¾Æ¹« È¿°ú°¡ ¾øÀ» °ÍÀÔ´Ï´Ù.

returnÀº ÇÔ¼öÀÇ È£ÃâÀÚ¿¡°Ô ¿ÀÁ÷ ÇϳªÀÇ °ª¸¸ ´Ù½Ã µ¹·ÁÁÙ ¼ö Àֱ⠶§¹®¿¡, ByRef¸¦ »ç¿ëÇϸé Ãß°¡ °á°ú¸¦ ´õ µ¹·ÁÁÙ ¼ö ÀÖ½À´Ï´Ù. È£ÃâÀÚ¿¡°Ô (º¸Åë ºó) º¯¼ö¸¦ °Ç³×°Ô ÇÏ°í °Å±â¿¡ ÇÔ¼ö°¡ °ªÀ» ÀúÀåÇÏ¸é µË´Ï´Ù.

¹æ´ëÇÑ ¹®ÀÚ¿­À» ÇÔ¼ö¿¡ °Ç³Ú ¶§, ByRef´Â ¼öÇ༺´ÉÀ» Çâ»ó½ÃÅ°°í ¸Þ¸ð¸®¸¦ ±×´ë·Î À¯ÁöÇÕ´Ï´Ù. ¹®ÀÚ¿­ÀÇ »çº»À» ¸¸µé ÇÊ¿ä°¡ ¾ø±â ¶§¹®ÀÔ´Ï´Ù. ºñ½ÁÇÏ°Ô, ByRef¸¦ »ç¿ëÇÏ¿© ±ä ¹®ÀÚ¿­À» ´Ù½Ã È£ÃâÀÚ¿¡°Ô º¸³»¸é Return HugeString¿Í °°ÀÌ ÇÏ´Â °Í¿¡ ºñÇØ º¸Åë ¼öÇ༺´ÉÀÌ ´õ Çâ»óµË´Ï´Ù.

[AHK_L 60+]: º¯°æ°¡´ÉÇÑ º¯¼ö ¸»°í ¾î¶² °ÍÀÌ ByRef ¸Å°³º¯¼ö¿¡ °Ç³×Áö¸é, ÇÔ¼ö´Â ¸¶Ä¡ Å°¿öµå "ByRef"°¡ ¾ø´Â °Íó·³ ÇàÀ§ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, Swap(A_Index, i)´Â A_IndexÀÇ °ªÀ» i¿¡ ÀúÀåÇÏÁö¸¸, Left¿¡ ÇÒ´çµÈ °ªÀº Swap ÇÔ¼ö°¡ ¹ÝȯµÇ´Â ¼ø°£ Æó±âµË´Ï´Ù.

[v1.1.01+]: IsByRef() ÇÔ¼ö¸¦ »ç¿ëÇϸé È£ÃâÀÚ°¡ ÁÖ¾îÁø ByRef ¸Å°³º¯¼ö¿¡ ´ëÇÏ¿© º¯¼ö¸¦ °ø±ÞÇß´ÂÁö ¾Ë ¼ö ÀÖ½À´Ï´Ù.

¾Ë·ÁÁø ÇÑ°è:

¼±ÅÃÀû ¸Å°³º¯¼ö

ÇÔ¼ö¸¦ Á¤ÀÇÇÒ ¶§, Çϳª ÀÌ»óÀÇ ¸Å°³º¯¼ö¿¡ ¼±ÅÃÀû Ç¥½ÄÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸ÕÀú µîÈ£ »çÀÎÀ» µÎ°í (¶Ç´Â v1.1.09+¿¡¼­´Â :=) ´ÙÀ½¿¡ ±âº»°ªÀ» µÎ¸é µË´Ï´Ù. ´ÙÀ½ ÇÔ¼ö´Â Z ¸Å°³º¯¼ö¿¡ ¼±ÅÃÀû Ç¥½ÄÀÌ ºÙ¾î ÀÖ½À´Ï´Ù:

Add(X, Y, Z:=0) {
    return X + Y + Z
}

v1.1.09 ¹öÀüºÎÅÍ =¿Í := µÑ ´Ù Áö¿øÇÕ´Ï´Ù. Ç¥Çö½Ä ÇÒ´ç°úÀÇ ÀÏ°ü¼º°ú ¹Ì·¡ ¹öÀüÀÇ ¿ÀÅäÇÖÅ°¿ÍÀÇ È£È¯¼ºÀ» À§ÇÏ¿© ÈÄÀÚ¸¦ ±ÇÀåÇÕ´Ï´Ù.

È£ÃâÀÚ°¡ ¼¼ °³ÀÇ ¸Å°³º¯¼ö¸¦ À§ÀÇ ÇÔ¼ö¿¡ °Ç³×¸é, ZÀÇ ±âº» °ªÀº ¹«½ÃµË´Ï´Ù. ±×·¯³ª È£ÃâÀÚ°¡ ¿ÀÁ÷ µÎ °³ÀÇ ¸Å°³º¯¼ö¸¸ °Ç³×¸é, Z´Â ÀÚµ¿À¸·Î ±âº»°ª 0À» ¹Þ½À´Ï´Ù.

¼±ÅÃÀû ¸Å°³º¯¼ö¸¦ ¸®½ºÆ® ÇÑ °¡¿îµ¥¿¡ µû·Î ¹èÄ¡ÇÏ´Â °ÍÀº ºÒ°¡´ÉÇÕ´Ï´Ù. ´Ù¸¥ ¸»·Î Çϸé, ù ¹ø° ¼±ÅÃÀû ¸Å°³º¯¼öÀÇ ¿À¸¥ÂÊ¿¡ ³ª¿À´Â ¸ðµç ¸Å°³º¯¼öµµ ¿ª½Ã ¼±ÅÃÀûÀ¸·Î Ç¥½ÄÀÌ ºÙ¾î¾ß ÇÕ´Ï´Ù. [AHK_L 31+]: ¼±ÅÃÀû ¸Å°³º¯¼ö´Â ¸Å°³º¯¼ö ¸®½ºÆ®ÀÇ Áß¾Ó¿¡¼­´Â »ý·«ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾Æ·¡¿Í °°ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÕ´Ï´Ù. µ¿ÀûÀÎ ÇÔ¼ö È£Ãâ°ú ¸Þ½îµå È£ÃâÀº v1.1.12+ÀÌ»óÀÌ ÇÊ¿äÇÕ´Ï´Ù.

Func(1,, 3)
Func(X, Y:=2, Z:=0) {  ; ÀÌ °æ¿ì Z´Â¿©ÀüÈ÷ ¼±ÅÃÀûÀ̾î¾ß ÇÔ¿¡ À¯ÀÇÇÕ´Ï´Ù.
    MsgBox %X%, %Y%, %Z%
}

v1.0.46.13+¿¡¼­, ByRef ¸Å°³º¯¼öµµ ±âº»°ªÀ» Áö¿øÇÕ´Ï´Ù; ¿¹¸¦ µé¾î: Func(ByRef p1 = ""). È£ÃâÀÚ°¡ ±×·± ¸Å°³º¯¼ö¸¦ »©¸ÔÀ» ¶§¸¶´Ù, ÇÔ¼ö´Â Áö¿ª º¯¼ö¸¦ ¸¸µé¾î ±âº» °ªÀ» ´ã½À´Ï´Ù; ´Ù¸¥ ¸»·Î, ÇÔ¼ö´Â ¸¶Ä¡ Å°¿öµå "ByRef"°¡ Á¸ÀçÇÏÁö ¾Ê´Â °Íó·³ ÇàÀ§ÇÕ´Ï´Ù.

¸Å°³º¯¼öÀÇ ±âº» °ªÀº ´ÙÀ½ Áß Çϳª°¡ µÇ¾î¾ß ÇÕ´Ï´Ù: true, false, ¹®ÀÚ ±×´ë·ÎÀÇ Á¤¼ö, ¹®ÀÚ ±×´ë·ÎÀÇ ºÎµ¿ ¼Ò¼öÁ¡ ¼ö, ¶Ç´Â "fox" ¶Ç´Â ""¿Í °°ÀÌ ÀοëºÎȣó¸®µÇ¾î ¹®ÀÚ ±×´ë·ÎÀÇ ¹®ÀÚ¿­. (±×·¯³ª 1.0.46.13+ÀÌÀü ¹öÀüÀÇ ¹®ÀÚ¿­Àº ¿ÀÁ÷ ""¸¸ Áö¿øÇÕ´Ï´Ù).

È£ÃâÀÚ¿¡°Ô °ª µ¹·ÁÁÖ±â

¼Ò°³¿¡ ±â¼úÇÑ ¹Ù¿Í °°ÀÌ, ÇÔ¼ö´Â ¼±ÅÃÀûÀ¸·Î °ªÀ» È£ÃâÀÚ¿¡°Ô µ¹·ÁÁÙ ¼ö ÀÖ½À´Ï´Ù.

Test := returnTest()
MsgBox % Test

returnTest() {
  return 123
}

ÇÔ¼ö·ÎºÎÅÍ °á°ú¸¦ ´õ ¸¹ÀÌ µ¹·ÁÁÖ°í ½Í´Ù¸é, ByRef¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù:

returnByRef(A,B,C)
MsgBox % A "," B "," C

returnByRef(ByRef val1, ByRef val2, ByRef val3)
{
  val1 := "A"
  val2 := 100
  val3 := 1.1
  return
}

[v1.0.97+]: °´Ã¼¿Í ¹è¿­À» »ç¿ëÇÏ¸é ¿©·¯ °ªµé ½ÉÁö¾î À̸§ ºÙÀº °ªµéµµ µ¹·ÁÁÙ ¼ö ÀÖ½À´Ï´Ù:

Test1 := returnArray1()
MsgBox % Test1[1] "," Test1[2]

Test2 := returnArray2()
MsgBox % Test2[1] "," Test2[2]

Test3 := returnObject()
MsgBox % Test3.id "," Test3.val

returnArray1() {
  Test := [123,"ABC"]
  return Test
}

returnArray2() {
  x := 456
  y := "EFG"
  return [x, y]
}

returnObject() {
  Test := {id: 789, val: "HIJ"}
  return Test
}

°¡º¯ ÇÔ¼ö [AHK_L 60+]

ÇÔ¼ö¸¦ Á¤ÀÇÇÒ ¶§, º°Ç¥¸¦ ¸¶Áö¸· ¸Å°³º¯¼ö µÚ¿¡ ¾²¸é ±× ÇÔ¼ö¸¦ °¡º¯ÇÔ¼ö·Î ¸¸µé ¼ö ÀÖ½À´Ï´Ù. °¡º¯ °³¼öÀÇ ¸Å°³º¯¼ö¸¦ ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù:

Join(sep, params*) {
    for index,param in params
        str .= param . sep
    return SubStr(str, 1, -StrLen(sep))
}
MsgBox % Join("`n", "one", "two", "three")

°¡º¯ ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§, ³ÑÄ¡´Â ¸Å°³º¯¼ö´Â ÇÔ¼öÀÇ ¸¶Áö¸· ¸Å°³º¯¼ö¿¡ ÀúÀåµÇ¾î ÀÖ´Â °´Ã¼¸¦ ÅëÇÏ¿© Á¢±ÙÇÒ ¼ö ÀÖ½À´Ï´Ù. ³ÑÄ£ ù ¹ø° ¸Å°³º¯¼ö´Â params[1]¿¡ ÀÖ°í, µÎ ¹ø°´Â params[2]¿¡ µîµî¿¡ ÀÖ½À´Ï´Ù. ´Ù¸¥ Ç¥ÁØ °´Ã¼Ã³·³params.MaxIndex()¸¦ »ç¿ëÇÏ¸é ¼ýÄ¡»ó °¡Àå ³ôÀº À妽º¸¦ ¾Ë ¼ö ÀÖ½À´Ï´Ù (ÀÌ °æ¿ì ¸Å°³º¯¼öÀÇ °³¼öÀÔ´Ï´Ù). ±×·¸Áö¸¸, ¸Å°³º¯¼ö°¡ ¾ø´Ù¸é, MaxIndex´Â ºó ¹®ÀÚ¿­À» µ¹·ÁÁÝ´Ï´Ù.

ÁÖÀÇ:

°¡º¯ ÇÔ¼ö È£Ãâ

°¡º¯ ÇÔ¼ö°¡ °¡º¯ °³¼öÀÇ ¸Å°³º¯¼ö¸¦ ¹Þ¾ÆµéÀÏ ¼ö ÀÖ´Â ¹Ý¸é, ¸Å°³º¯¼ö ¹è¿­À» ¾î¶² ÇÔ¼ö¿¡µµ °Ç³Ú ¼ö ÀÖ½À´Ï´Ù. °°Àº ±¸¹®À» ÇÔ¼ö-È£Ãâ¿¡ Àû¿ëÇÏ¸é µË´Ï´Ù:

substrings := ["one", "two", "three"]
MsgBox % Join("`n", substrings*)

ÁÖÀÇ:

¾Ë·ÁÁø ÇÑ°è:

Áö¿ª º¯¼ö¿Í Àü¿ª º¯¼ö

Áö¿ª º¯¼ö

ÇÔ¼ö ¾È¿¡¼­ ¸¸µé¾îÁö°í Á¢±ÙµÇ´Â ¸ðµç º¯¼öµéÀº ±âº»ÀûÀ¸·Î Áö¿ªÀûÀÔ´Ï´Ù (½´ÆÛ-Àü¿ª º¯¼ö ±×¸®°í Clipboard, ErrorLevel, A_TimeIdle¿Í °°Àº ³»Àå º¯¼ö´Â Á¦¿ÜÇÕ´Ï´Ù). °¢ Áö¿ª º¯¼öÀÇ ³»¿ëÀº ÇÔ¼ö ¾È¿¡ µç ÁÙ¿¡¼­¸¸ º¸ÀÔ´Ï´Ù. °á°úÀûÀ¸·Î, Áö¿ª º¯¼ö´Â Àü¿ª º¯¼ö¿Í À̸§ÀÌ °°À» ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ¼­·Î ´Ù¸¥ ³»¿ëÀ» °¡Áú ¼ö ÀÖ½À´Ï´Ù. ¸¶Áö¸·À¸·Î, ¸ðµç Áö¿ª º¯¼ö´Â ÇÔ¼ö°¡ È£ÃâµÉ ¶§¸¶´Ù ºó ä·Î ½ÃÀÛÇÕ´Ï´Ù.

Àü¿ª º¯¼ö

ÇÔ¼ö ¾È¿¡¼­ ±âÁ¸ÀÇ Àü¿ª º¯¼ö¸¦ ÂüÁ¶ÇÏ·Á¸é (¶Ç´Â »õ·Î ¸¸µé·Á¸é), º¯¼ö¸¦ global·Î ¼±¾ðÇÑ ´ÙÀ½ »ç¿ëÇÕ´Ï´Ù. ¿¹¸¦ µé¾î:

LogToFile(TextToLog)
{
    global LogFileName  ; ÀÌ Àü¿ª º¯¼ö´Â ÀÌ ÇÔ¼ö ¹Ù±ù ¾îµò°¡¿¡ ¹Ì¸® °ªÀÌ ÁÖ¾îÁ® ÀÖ½À´Ï´Ù.
    FileAppend, %TextToLog%`n, %LogFileName%
}

Àü¿ª-°£ÁÖ ¸ðµå: ÇÔ¼ö°¡ ¹æ´ëÇÑ °³¼öÀÇ Àü¿ª º¯¼ö¸¦ ¸¸µé°Å³ª Á¢±ÙÇÒ ÇÊ¿ä°¡ ÀÖ´Ù¸é, ±×ÀÇ ¸ðµç º¯¼ö¸¦ Àü¿ªÀûÀ¸·Î °£ÁÖÇϵµ·Ï Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù (¸Å°³º¯¼ö´Â Á¦¿Ü). ù ÁÙÀ» ´Ü¾î "global"·Î ¸¸µé°Å³ª Áö¿ª º¯¼öÀÇ ¼±¾ðÀ¸·Î ¸¸µé¸é µË´Ï´Ù. ¿¹¸¦ µé¾î:

SetDefaults()
{
    global  ; ÇÔ¼öÀÇ Ã¹ ÁÙÀÌ "local MyVar"¿Í °°Àº °ÍÀ¸·Î ½ÃÀÛÇϸé ÀÌ ´Ü¾î´Â »ý·«Çصµ µË´Ï´Ù.
    MyGlobal := 33  ; 33À» Àü¿ª º¯¼ö¿¡ ÇÒ´çÇÕ´Ï´Ù. ÇÊ¿äÇÏ¸é ¸ÕÀú º¯¼ö¸¦ ¸¸µì´Ï´Ù.
    local x, y:=0, z  ; Áö¿ª º¯¼ö´Â ÀÌ ¸ðµå·Î ¼±¾ðÇØ¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é Àü¿ªÀûÀ¸·Î °£Áֵ˴ϴÙ.
}

Àü¿ª-°£ÁÖ ¸ðµå¸¦ ÇÔ¼ö¿¡ »ç¿ëÇÏ¸é ¿¹¸¦ µé¾î °ªÀ» Array%A_Index%¿¡ ÇÒ´çÇϴ ȸµ¹ÀÌ¿Í °°ÀÌ Àü¿ª ¹è¿­À» ¸¸µé ¼ö ÀÖ½À´Ï´Ù.

½´ÆÛ-Àü¿ª º¯¼ö [v1.1.05+]: Àü¿ª ¼±¾ðÀÌ ÇÔ¼ö ¹Û¿¡ ³ªÅ¸³ª¸é, ±âº»À¸·Î ¸ðµç ÇÔ¼ö¿¡ ¿µÇâÀ» ¹ÌĨ´Ï´Ù. ±×·¡¼­ °¢ ÇÔ¼ö¸¶´Ù ÇØ´ç º¯¼ö¸¦ ´Ù½Ã ¼±¾ðÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ±×·¸Áö¸¸, ÇÔ¼ö ¸Å°³º¯¼ö³ª Áö¿ª º¯¼ö¿¡ °°Àº À̸§ÀÌ ¼±¾ðµÇ¾î ÀÖ´Ù¸é, Àü¿ª º¯¼öº¸´Ù ¿ì¼± ¼øÀ§°¡ ³õ½À´Ï´Ù. class Å°¿öµå·Î ¸¸µç º¯¼öµµ ¼öÆÛ-Àü¿ª º¯¼öÀÔ´Ï´Ù.

Á¤Àû º¯¼ö

Á¤Àû º¯¼ö´Â ¾ðÁ¦³ª ¹¬½ÃÀûÀ¸·Î Áö¿ªÀûÀÌÁö¸¸, Áö¿¬ º¯¼ö¿Í´Â ´Ù¸¥ Á¡ÀÌ ÀÖ½À´Ï´Ù. È£Ãâ »çÀÌ¿¡ °ªÀ» ±â¾ïÇÕ´Ï´Ù. ¿¹¸¦ µé¾î:

LogToFile(TextToLog)
{
    static LoggedLines = 0
    LoggedLines += 1  ; ¿ÏÀüÈ÷ Áö¿ªÀûÀ¸·Î À¯Áö°ü¸®ÇÕ´Ï´Ù (±×ÀÇ °ªÀº È£Ãâ »çÀÌ¿¡ ±â¾ïµË´Ï´Ù).
    global LogFileName
    FileAppend, %LoggedLines%: %TextToLog%`n, %LogFileName%
}

Á¤Àû ÃʱâÈ­ÀÚ: 1.0.46 ÀÌÀü ¹öÀü¿¡¼­, ¸ðµç Á¤Àû º¯¼ö´Â ºó ä·Î ½ÃÀÛÇß½À´Ï´Ù; ±×·¡¼­ óÀ½À¸·Î »ç¿ëµÇ´Â º¯¼öÀÎÁö ŽÁöÇÏ´Â À¯ÀÏÇÑ ¹æ¹ýÀº ±×°ÍÀÌ ºñ¾îÀÖ´ÂÁö Á¡°ËÇÏ´Â °ÍÀ̾ú½À´Ï´Ù. v1.0.46+¿¡¼­, Á¤Àû º¯¼ö´Â "" ¸»°í ´Ù¸¥ °ÍÀ¸·Î ÃʱâÈ­ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸ÕÀú :=À̳ª =¸¦ µÎ°í ¹Ù·Î ÀÌ¾î ´ÙÀ½ Áß Çϳª°¡ ¿À¸é µË´Ï´Ù: true, false, ±âÈ£ ±×´ë·ÎÀÇ ¼ýÀÚ, ±âÈ£ ±×´ë·ÎÀÇ ºÎµ¿ ¼Ò¼öÁ¡ ¼ö, ¶Ç´Â "fox"°ú °°ÀÌ ±âÈ£ ±×´ë·Î/ ÀοëºÎÈ£ ó¸®µÈ ¹®ÀÚ¿­. ¿¹¸¦ µé¸é: static X:=0, Y:="fox". °¢ Á¤Àû º¯¼ö´Â (½ºÅ©¸³Æ®°¡ ½ÇÇàÀ» ½ÃÀÛÇϱâ Àü¿¡) ¿ÀÁ÷ ÇÑ ¹ø¸¸ ÃʱâÈ­µË´Ï´Ù.

[AHK_L 58+]: Static var := expressionÀ» Áö¿øÇÕ´Ï´Ù. ±×·± ¸ðµç Ç¥Çö½ÄÀº ³ªÅ¸³ª´Â ¼ø¼­´ë·Î ½ºÅ©¸³Æ®ÀÇ ÀÚµ¿-½ÇÇà ¼½¼Ç ¹Ù·Î ¾Õ¿¡¼­ Æò°¡µË´Ï´Ù.

Á¤Àû-°£ÁÖ ¸ðµå [v1.0.48+]: ÇÔ¼ö´Â ±×ÀÇ ¸ðµç º¯¼ö°¡ Á¤ÀûÀ̶ó°í °£ÁÖÇϵµ·Ï Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù (±×ÀÇ ¸Å°³º¯¼ö´Â Á¦¿Ü). ù ÁÙÀ» "static"À̶ó´Â ´Ü¾î·Î ¸¸µé¸é µË´Ï´Ù. ¿¹¸¦ µé¾î:

GetFromStaticArray(WhichItemNumber)
{
    static
    static FirstCallToUs := true  ; Á¤Àû ¼±¾ðÀÇ ÃʱâÈ­ÀÚ´Â ¿©ÀüÈ÷ (±âµ¿½Ã¿¡) ÇÑ ¹ø¸¸ ½ÇÇàµË´Ï´Ù.
    if FirstCallToUs  ; ù ¹ø° È£Ãâ µ¿¾È Á¤Àû ¹è¿­À» ¸¸µì´Ï´Ù. ±×·¯³ª ±× ´ÙÀ½ È£Ãâ¿¡´Â ¸¸µéÁö ¾Ê½À´Ï´Ù.
    {
        FirstCallToUs := false
        Loop 10
            StaticArray%A_Index% := "Value #" . A_Index
    }
    return StaticArray%WhichItemNumber%
}

Á¤Àû-°£ÁÖ ¸ðµå¿¡¼­, Á¤ÀûÀÌ¸é ¾È µÇ´Â º¯¼ö´Â ¹Ýµå½Ã local ¶Ç´Â global·Î ¼±¾ðÇØ¾ß ÇÕ´Ï´Ù.

Áö¿ª º¯¼ö¿Í Àü¿ª º¯¼ö¿¡ °üÇÏ¿© ´õ ÀÚ¼¼È÷

¸¹Àº º¯¼öµéÀ» ÇÑ ÁÙ¿¡ ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ¿¹Á¦¿Í °°ÀÌ ½°Ç¥·Î °¡¸£¸é µË´Ï´Ù:

global LogFileName, MaxRetries := 5
static TotalAttempts = 0, PrevResult

v1.0.46+¿¡¼­, Àü¿ª º¯¼ö³ª Áö¿ª º¯¼ö´Â ¼±¾ð°ú µ¿½Ã¿¡ °°Àº ÁÙ¿¡¼­ ÃʱâÈ­ÇÒ ¼ö ÀÖ½À´Ï´Ù. :=À̳ª = ´ÙÀ½¿¡ Ç¥Çö½ÄÀ» µÎ¸é µË´Ï´Ù (= ¿¬»êÀÚ´Â ¼±¾ð¿¡¼­ :=¿Í ¶È°°ÀÌ ÇàÀ§ÇÕ´Ï´Ù). Á¤Àû ÃʱâÈ­ÀÚ¿Í ´Ù¸£°Ô, Áö¿ª º¯¼ö¿Í Àü¿ª º¯¼öÀÇ ÃʱâÈ­ÀÚ´Â ÇÔ¼ö°¡ È£ÃâµÉ ¶§¸¶´Ù ¸Å¹ø ½ÇÇàµË´Ï´Ù. ±×·¯³ª ¿ÀÁ÷ ½ÇÇà È帧ÀÌ ½ÇÁ¦·Î °Å±â¿¡ ´Ù´Ù¸¦ ¶§¿¡¸¸ ÃʱâÈ­ÇÕ´Ï´Ù. ´Ù¸¥ ¸»·Î, local x = 0°ú °°Àº ÁÙÀº ´ÙÀ½°ú °°ÀÌ µÎ °³ÀÇ ¼­¼ú¹®À¸·Î ÀÛ¼ºÇÑ °Í°ú È¿°ú°¡ °°½À´Ï´Ù: local x ´ÙÀ½¿¡ x = 0.

local, global, ±×¸®°í static°°Àº ´Ü¾î´Â ½ºÅ©¸³Æ®°¡ ±âµ¿ÇÏÀÚ ¸¶ÀÚ Áï½Ã 󸮵DZ⠶§¹®¿¡, º¯¼ö´Â IF ¼­¼ú¹®À» ¼ö´ÜÀ¸·Î ÇÏ¿© Á¶°ÇÀûÀ¸·Î ¼±¾ðÇÒ ¼ö ¾ø½À´Ï´Ù. ´Ù¸¥ ¸»·Î Çϸé, IF ¶Ç´Â ELSE ºí·Ï¾È¿¡¼­ ¼±¾ðÇϸé ÇØ´ç ¼±¾ð°ú ±× ÇÔ¼öÀÇ ´Ý´Â °ýÈ£ »çÀÌ¿¡ ÀÖ´Â ¸ðµç Áٵ鿡 ¿¹»óÄ¡ ¸øÇÑ È¿°ú¸¦ ¹ÌĨ´Ï´Ù. ¶Ç ÁÖ¸ñÇÒ °ÍÀº global Array%i%¿Í °°ÀÌ µ¿ÀûÀ¸·Î º¯¼ö¸¦ ¼±¾ðÇÏ´Â °ÍÀº ÇöÀç °¡´ÉÇÏÁö ¾Ê´Ù´Â °ÍÀÔ´Ï´Ù.

(StringSplit °°Àº) ÀÇ»ç-¹è¿­À» »ý¼ºÇÏ´Â ¸í·É¾î¿¡ ´ëÇÏ¿©, Àü¿ª-°£ÁÖ ¸ðµå°¡ ¿µÇâÀÌ ¾ø°Å³ª ¶Ç´Â ÀÇ»ç-¹è¿­ÀÇ Ã¹ ¹ø° ¿ø¼Ò°¡ Áö¿ª º¯¼ö·Î ¼±¾ðµÇ¾î ÀÖ´Ù¸é, °á°ú ÀÇ»ç-¹è¿­ÀÇ °¢ º¯¼ö´Â Áö¿ª º¯¼öÀÔ´Ï´Ù. (±× ÇÔ¼öÀÇ ¸Å°³º¯¼ö Áß Çϳª°¡ °Ç³×ÁúÁö¶óµµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù -- ±× ¸Å°³º¯¼ö°¡ ByRefÀÏÁö¶óµµ -- ¿Ö³ÄÇÏ¸é ¸Å°³º¯¼ö´Â Áö¿ª º¯¼ö¿Í ºñ½ÁÇϱ⠶§¹®ÀÔ´Ï´Ù). ¿ªÀ¸·Î, ù ¿ø¼Ò°¡ global·Î ¼±¾ðµÇ¾ú´Ù¸é, Àü¿ª ¹è¿­ÀÌ »ý¼ºµË´Ï´Ù. ±×·¸Áö¸¸, ¾Æ·¡ÀÇ ÈçÇÑ È¥¶õÀÇ ±Ù¿øÀÌ ÀÌ °æ¿ì¿¡µµ Àû¿ëµÇ´Ï´Ù. StringSplitÀÇ Ã¹ ¿ø¼Ò´Â ArrayName0ÀÔ´Ï´Ù. WinGet List¿Í °°ÀÌ ´Ù¸¥ ¹è¿­-»ý¼º ¸í·É¾î¿¡ ´ëÇÏ¿©, ù ¹ø° ¿ø¼Ò´Â ArrayNameÀÔ´Ï´Ù (Áï, ¼ýÀÚ°¡ ¾ø½À´Ï´Ù).

ÇÔ¼ö ¾È¿¡¼­, Array%i%¿Í °°Àº µ¿Àû º¯¼ö ÂüÁ¶´Â ÇØ´ç À̸§ÀÇ º¯¼ö°¡ Á¸ÀçÇÏÁö ¾Ê´Â ÇÑ, ¾ðÁ¦³ª Áö¿ª º¯¼ö·Î °áÁ¤µË´Ï´Ù. ¸¸¾à Á¸ÀçÇϸé Àü¿ª º¯¼ö°¡ »ç¿ëµË´Ï´Ù. ¾Æ¿¹ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é »õ·Î »ý¼ºµÉ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. Áö¿ª º¯¼ö·Î »ý¼ºµË´Ï´Ù. ´Ü, Àü¿ª-°£ÁÖ ¸ðµå°¡ ÄÑ ÀÖ´Ù¸é Àü¿ª º¯¼ö·Î »ý¼ºµË´Ï´Ù. °á°úÀûÀ¸·Î, ÇÔ¼ö´Â (Array%i% := A_Index°ú °°Àº ¼ö´ÜÀ» »ç¿ëÇÏ¿©) ¼öµ¿À¸·Î Àü¿ª ¹è¿­À» ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ¹°·Ð Àü¿ª-°£ÁÖ ÇÔ¼ö·Î ¼±¾ðµÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù.

ÈçÇÑ È¥¶õÀÇ ±Ù¿ø: º¯¼ö¸¦ µ¿ÀûÀ¸·Î ÂüÁ¶Çߴµ¥ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é ½ºÅ©¸³Æ®°¡ ±âµ¿ÇÏ´Â ¼ø°£ ±× º¯¼ö°¡ »ý¼ºµË´Ï´Ù. ¿¹¸¦ µé¾î, ÇÔ¼ö ¹Û¿¡¼­ »ç¿ëµÉ ¶§, MsgBox %Array1%´Â ½ºÅ©¸³Æ®°¡ ±âµ¿ÇÏ´Â ¼ø°£ Array1À» Àü¿ªº¯¼ö·Î »ý¼ºÇÕ´Ï´Ù. ¹Ý´ë·Î, ÇÔ¼ö ¾È¿¡¼­ »ç¿ëµÉ ¶§, MsgBox %Array1%´Â ½ºÅ©¸³Æ®°¡ ±âµ¿ÇÏ´Â ¼ø°£ (Àü¿ª-°£ÁÖ ¸ðµå°¡ ¾Æ´Ñ ÇÑ), Array¿Í Array0ÀÌ Àü¿ª º¯¼ö·Î ¼±¾ðµÇ¾î ÀÖ´Ù°í ÇÒÁö¶óµµ, Array1À» Áö¿ª º¯¼öÁß Çϳª·Î »ý¼ºÇÕ´Ï´Ù.

µ¿ÀûÀ¸·Î ÇÔ¼ö È£ÃâÇϱâ

v1.0.47.06+¿¡¼­, ÇÔ¼ö´Â (³»Àå ÇÔ¼öµµ ¿ª½Ã) ÆÛ¼¾Æ® »çÀÎÀ» ÅëÇÏ¿© µ¿ÀûÀ¸·Î È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, %Var%(x, "fox")´Â À̸§ÀÌ Var ¾È¿¡ µé¾î ÀÖ´Â ÇÔ¼ö¸¦ È£ÃâÇÕ´Ï´Ù. ºñ½ÁÇÏ°Ô, Func%A_Index%()´Â A_IndexÀÇ ÇöÀç °ª¿¡ µû¶ó¼­ Func1() ¶Ç´Â Func2(), µîµîÀ» È£ÃâÇÕ´Ï´Ù.

v1.1.07.00+¿¡¼­, %Var%()ÀÇ Var´Â ÇÔ¼ö À̸§, ÇÔ¼ö ÂüÁ¶ ¶Ç´Â ÇÔ¼ö¸¦ Èä³»³½ °´Ã¼¸¦ ´ãÀ» ¼ö ÀÖ½À´Ï´Ù. ÇØ´ç ÇÔ¼ö°¡ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é, ±âº» º£À̽º °´Ã¼ÀÇ __Call ¸ÞŸ-ÇÔ¼ö°¡ ´ë½Å¿¡ ¿äûµË´Ï´Ù.

¾Æ·¡ÀÇ ÀÌÀ¯ Áß Çϳª ¶§¹®¿¡ ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ¾ø´Ù¸é, ±× È£ÃâÀ» ´ã°í Àִ ǥÇö½ÄÀÇ Æò°¡°¡ Á¶¿ëÈ÷ ±×¸®°í ³Ê¹« »¡¸® ³¡³ª¹Ç·Î, ÀÏ°ü¼º ¾ø´Â °á°ú¸¦ µµÃâÇÒ ¼ö ÀÖ½À´Ï´Ù:

¸¶Áö¸·À¸·Î, ÇÔ¼ö¸¦ µ¿ÀûÀ¸·Î È£ÃâÇϸé Á¤»ó È£Ã⺸´Ù ¾à°£ ´õ ´À¸³´Ï´Ù. ¿Ö³ÄÇϸé Á¤»ó È£ÃâÀº ½ºÅ©¸³Æ®°¡ ½ÇÇàÀ» Çϱâ Àü¿¡ °áÁ¤(°Ë»ö ¿Ï·á)µÇ±â ¶§¹®ÀÔ´Ï´Ù.

´ÜÃà-ȸ·Î ºÒ¸®¾ð Æò°¡

AND, OR, ±×¸®°í »ïÁø ¿¬»êÀÚ°¡ Ç¥Çö½Ä ¾È¿¡ »ç¿ëµÉ ¶§, ´ÜÃà ȸ·Î Æò°¡·Î ¼öÇ༺À» °³¼±ÇÕ´Ï´Ù (ÇÔ¼ö È£ÃâÀÌ Á¸ÀçÇϴ°¡ ¿©ºÎ¿¡ »ó°ü¾øÀÌ). ´ÜÃà ȸ·Î Æò°¡´Â ÃÖÁ¾ °á°ú¿¡ ¿µÇâÀ» ¹ÌÄ¥ ¼ö ¾ø´Â ºÎºÐÀ» Æò°¡ÇÏÁö ¾Ê½À´Ï´Ù. °³³äÀ» º¸¿©ÁÖ±â À§ÇØ, ´ÙÀ½ ¿¹Á¦¸¦ ¿¬±¸ÇØ º¸°Ú½À´Ï´Ù:

if (ColorName <> "" AND not FindColor(ColorName))
    MsgBox %ColorName%À» ¹ß°ßÇÒ ¼ö ¾ø½À´Ï´Ù.

À§ÀÇ ¿¹Á¦¿¡¼­, FindColor() ÇÔ¼ö´Â ColorName º¯¼ö°¡ ºñ¾îÀÖÁö ¾Ê´Â ÇÑ, Àý´ë È£ÃâµÇÁö ¾Ê½À´Ï´Ù. ÀÌ ¶§¹®¿¡ ANDÀÇ ¿ÞÂÊÀÌ false°¡ µÇ°í, ±×ÀÇ ¿À¸¥ÂÊ ¸¸À¸·Î´Â true¶ó´Â ÃÖÁ¾ °á°ú¸¦ »ý»êÇÒ °¡´É¼ºÀÌ ÀüÇô ¾ø±â ¶§¹®ÀÔ´Ï´Ù.

ÀÌ ÇàÀ§ ¶§¹®¿¡, ±× ÇÔ¼ö°¡ AND³ª ORÀÇ ¿À¸¥ÂÊ¿¡ È£ÃâµÇ´õ¶óµµ, ÇÔ¼ö°¡ »ý»êÇÏ´Â ºÎÀÛ¿ëÀÌ (Àü¿ª º¯¼öÀÇ ³»¿ëÀ» º¯°æÇÏ´Â °Í°ú °°Àº) Àý´ë·Î ÀϾÁö ¾ÊÀ» °ÍÀ̶ó´Â »ç½ÇÀ» ±ú´Ý´Â °ÍÀÌ Áß¿äÇÕ´Ï´Ù.

¶Ç ÁÖ¸ñÇÒ °ÍÀº ´ÜÃà-ȸ·Î Æò°¡°¡ ³»Æ÷µÈ AND¿Í OR¿¡ ´Ü°èÀûÀ¸·Î Àû¿ëµÈ´Ù´Â °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½ Ç¥Çö½Ä¿¡¼­, ColorNameÀÌ ºñ¾î ÀÖÀ¸¸é ¿ÀÁ÷ ¿ÞÂÊÀÇ Æò°¡¸¸ ÀϾ´Ï´Ù. ¿Ö³ÄÇÏ¸é ¿ÞÂÊ ¸¸À¸·Î ÃÖÁ¾ Á¤´äÀ» È®½ÇÇÏ°Ô °áÁ¤Çϱ⿡ ÃæºÐÇϱ⠶§¹®ÀÔ´Ï´Ù:

if (ColorName = "" OR FindColor(ColorName, Region1) OR FindColor(ColorName, Region2))
    break   ; ´õ ÀÌ»ó °Ë»ö °ÍÀÌ ¾ø½À´Ï´Ù. ÀÏÄ¡ÇÑ °ÍÀÌ ¾ø½À´Ï´Ù.

À§ÀÇ ¿¹Á¦¿¡¼­ º¸¿©ÁÖ´Â ¹Ù¿Í °°ÀÌ, ºñ½Ñ (½Ã°£ÀÌ-µå´Â) ÇÔ¼ö¶ó¸é ÀϹÝÀûÀ¸·Î AND³ª ORÀÇ ¿À¸¥ÂÊ¿¡¼­ È£ÃâÇØ¾ß ¼öÇ༺´ÉÀÌ °³¼±µË´Ï´Ù. ÀÌ Å×Å©´ÐÀ» »ç¿ëÇÏ¸é ¶Ç ±×ÀÇ ¸Å°³º¯¼ö Áß Çϳª¿¡ ºÎÀûÀýÇÑ °ªÀÌ, ¿¹¸¦ µé¾î ºó ¹®ÀÚ¿­ÀÌ °Ç³×Áú ¶§, ÇÔ¼ö°¡ È£ÃâµÇÁö ¸øÇϵµ·Ï ¸¸µé ¼ö ÀÖ½À´Ï´Ù.

v1.0.46+¿¡¼­, »ïÁø Á¶°Ç ¿¬»êÀÚ (?:)µµ ´ÜÃà Æò°¡¸¦ ÇÕ´Ï´Ù. ÇÊ¿ä ¾ø´Â ºÐ±â´Â Æò°¡ÇÏÁö ¾Ê½À´Ï´Ù.

ÇÔ¼ö ¾È¿¡¼­ ¼­ºê·çƾ »ç¿ëÇϱâ

ÇÔ¼ö¿¡ ´Ù¸¥ ÇÔ¼öÀÇ Á¤ÀÇ´Â ´ãÀ» ¼ö ¾øÁö¸¸, ¼­ºê·çƾÀº ´ãÀ» ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ ¼­ºê·çƾ°ú ¸¶Âù°¡Áö·Î Gosub·Î ±âµ¿ÇÏ°í ReturnÀ¸·Î ¹ÝȯµË´Ï´Ù (ÀÌ °æ¿ì ReturnÀº Gosub¿¡ ¼ÓÇÏÁö ÇÔ¼ö¿¡ ¼ÓÇÏÁö ¾Ê½À´Ï´Ù).

¾Ë·ÁÁø ÇÑ°è: ÇöÀç, °¢ ¼­ºê·çƾÀÇ À̸§(¶óº§)Àº Àüü ½ºÅ©¸³Æ® ¾È¿¡¼­ À¯ÀÏÇÏ°Ô ½Äº°ÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÇÁ·Î±×·¥Àº ¶óº§ÀÌ Áߺ¹µÇ¾î ÀÖÀ¸¸é ±âµ¿ÇÒ ¶§ ¿©·¯ºÐ¿¡°Ô °íÁöÇÒ °ÍÀÔ´Ï´Ù.

ÇÔ¼ö°¡ Gosub¸¦ »ç¿ëÇØ (ÇÔ¼öÀÇ °ýÈ£ ¹Û¿¡ Á¸ÀçÇÏ´Â) °ø°³ ¼­ºê·çƾÀ¸·Î Á¡ÇÁÇØ °¡¸é, ¹Ù±ùÀÇ ¸ðµç º¯¼ö´Â Àü¿ª º¯¼öÀÌ°í ¼­ºê·çƾÀÌ µ¹¾Æ¿Ã ¶§±îÁö ÇÔ¼ö ÀÚ½ÅÀÇ Áö¿ª º¯¼ö¿¡´Â Á¢±ÙÇÒ ¼ö ¾ø½À´Ï´Ù. ±×·¸Áö¸¸, A_ThisFunc´Â ¿©ÀüÈ÷ ÇÔ¼öÀÇ À̸§À» ´ã°í ÀÖÀ» °ÍÀÔ´Ï´Ù.

Goto·Î´Â ÇÔ¼ö ¾È¿¡¼­ ¹ÛÀ¸·Î Á¡ÇÁÇØ °¥ ¼ö ¾øÁö¸¸, ÇÔ¼ö´Â ¿ÜºÎ/°ø°³ ¼­ºê·çƾÀ¸·Î GosubÇÒ ¼ö ÀÖÀ¸¸ç °Å±âºÎÅÍ Goto¸¦ »ç¿ëÇÏ¸é µË´Ï´Ù.

GotoÀÇ »ç¿ëÀº ÀϹÝÀûÀ¸·Î ±ÇÀåÇÏÁö ¾ÊÁö¸¸, ÇÔ¼ö ¾È¿¡¼­ ¶Ç´Ù¸¥ À§Ä¡·Î Á¡ÇÁÇϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ÇÏ¸é º¹ÀâÇÑ ÇÔ¼ö¸¦ °£·«ÇÏ°Ô ¸¸µå´Â µ¥ µµ¿òÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù. ¹Ýȯ ÁöÁ¡ÀÌ ¼ö ¾øÀÌ ¸¹°í, ±× ¸ðµÎ°¡ µ¹¾Æ¿À±â Àü¿¡ ±ú²ýÇÏ°Ô Ã»¼ÒÇØ¾ß ÇÒ °æ¿ì À¯¿ëÇÕ´Ï´Ù.

ÇÔ¼ö´Â ¿ÜºÎÀûÀ¸·Î-È£ÃâµÇ´Â ¼­ºê·çƾÀ» ´ãÀ» ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ŸÀ̸Ó, GUI g-labels, ±×¸®°í ¸Þ´º Ç׸ñÀÌ ±×°ÍÀÔ´Ï´Ù. ÀϹÝÀûÀ¸·Î º°µµÀÇ ÆÄÀÏ¿¡ ½Î ³Ö°í #Include¿Í ÇÔ²² »ç¿ëÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇÏ¸é ½ºÅ©¸³Æ®ÀÇ ÀÚµ¿-½ÇÇà ¼½¼Ç ¶§¹®¿¡ ¼­·Î °£¼·ÇÏ´Â ÀÏÀ» ¸·À» ¼ö ÀÖ½À´Ï´Ù. ±×·¸Áö¸¸, ´ÙÀ½ ÇÑ°è°¡ Àû¿ëµË´Ï´Ù:

Return, Exit, ±×¸®°í ÃÑÆò

´ÙÀ½ ½ÇÇà È帧ÀÌ ÇÔ¼ö ¾È¿¡¼­ ReturnÀ» ¸¸³ª±â Àü¿¡ ¸ÕÀú ´Ý´Â °ýÈ£¿¡ µµ´ÞÇϸé, ±× ÇÔ¼ö´Â ³¡³ª°í ºó °ªÀ» È£ÃâÀÚ¿¡°Ô µ¹·ÁÁÝ´Ï´Ù (ºó ¹®ÀÚ¿­). ºó °ªÀº ¶Ç ÇÔ¼ö°¡ ¸í½ÃÀûÀ¸·Î ReturnÀÇ ¸Å°³º¯¼ö¸¦ »ý·«ÇÒ ¶§¿¡µµ ¹ÝȯµË´Ï´Ù.

ÇÔ¼ö°¡ Exit ¸í·É¾î¸¦ »ç¿ëÇÏ¿© ÇöÀç ¾²·¹µå¸¦ Á¾·áÇϸé, ±×ÀÇ È£ÃâÀÚ´Â ¹Ýȯ °ªÀ» ÀüÇô ¹ÞÁö ¸øÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½ ¼­¼ú¹® Var := Add(2, 3)´Â °¡Add() Á¾·áÇϸé Var¸¦ ±×´ë·Î µÑ °ÍÀÔ´Ï´Ù. ÇÔ¼ö°¡ ½ÇÇà½Ã°£ ¿¡·¯¸¦ ÀÏÀ¸Äѵµ °°Àº ÀÏÀÌ ÀϾ´Ï´Ù. ¿¹¸¦ µé¾î (UseErrorLevel°¡ ÄÑÁ® ÀÖÁö ¾ÊÀ» ¶§) Á¸ÀçÇÏÁö ¾Ê´Â ÆÄÀÏÀ» ½ÇÇàÇÏ¸é °°Àº ÀÏÀÌ ÀϾ´Ï´Ù.

ÇÔ¼ö´Â ±â¾ïÇϱ⠽¬¿î °ªÀ» Ãß°¡·Î °Ç³×±â À§ÇÑ ¸ñÀûÀ¸·Î ErrorLevelÀÇ °ªÀ» º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÇÔ¼ö¸¦ Çϳª ÀÌ»óÀÌ ºó °ªÀ¸·Î È£ÃâÇÏ·Á¸é (ºó ¹®ÀÚ¿­), ´ÙÀ½ ¿¹Á¦¿Í °°ÀÌ ºó µû¿ÈÇ¥ ½ÖÀ» »ç¿ëÇÕ´Ï´Ù: FindColor(ColorName, "").

ÇÔ¼ö¸¦ È£ÃâÇÏ¸é »õ·Î¿î ¾²·¹µå°¡ ½ÃÀÛÇϹǷÎ, ÇÔ¼ö°¡ SendMode¿Í SetTitleMatchMode¿Í °°Àº ¼³Á¤¿¡ °¡ÇÑ º¯°æÀº ¸ðµÎ ±×ÀÇ È£ÃâÀÚ¿¡°Ôµµ ¿µÇâÀ» ¹ÌÄ¥ °ÍÀÔ´Ï´Ù.

ÇÔ¼öÀÇ È£ÃâÀÚ´Â °Å±â¿¡ Á¸ÀçÇÏÁö ¾ÊÀº °ª ¶Ç´Â ¹è¿­À» °Ç³Ú ¼ö ÀÖ½À´Ï´Ù. ÇÔ¼ö°¡ »óÀÀÇÏ´Â ¸Å°³º¯¼ö¸¦ ByRef¶ó°í ±â´ëÇÒ °æ¿ì¿¡ À¯¿ëÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, GetNextLine(BlankArray%i%)¸¦ È£ÃâÇϸé ÀÚµ¿À¸·Î BlankArray%i% º¯¼ö°¡ »ý¼ºµË´Ï´Ù (È£ÃâÀÚ°¡ ÇÔ¼ö ¾È¿¡ Àִ°¡ ±×¸®°í ±× ÇÔ¼ö¿¡ Àü¿ª-°£ÁÖ ¸ðµå°¡ ÄÑÁ® Àִ°¡¿¡ µû¶ó Áö¿ª º¯¼ö ¶Ç´Â Àü¿ª º¯¼ö·Î »ý¼ºµË´Ï´Ù).

ÇÔ¼ö ¾È¿¡¼­ »ç¿ëµÉ ¶§, ListVars´Â ÇÔ¼öÀÇ Áö¿ª º¯¼öµéÀ» ±×ÀÇ ³»¿ë°ú ÇÔ²² º¸¿©ÁÝ´Ï´Ù. ÀÌ´Â ½ºÅ©¸³Æ®¸¦ µð¹ö±ëÇÒ ¶§ µµ¿òÀÌ µË´Ï´Ù.

½ºÅ¸ÀÏ°ú À̸§Áþ±â °ü·Ê

º¹ÀâÇÑ ÇÔ¼ö´Â Ưº°ÇÑ º¯¼ö¿¡ ±¸º°µÇ´Â Á¢µÎ»ç¸¦ ºÎ¿©ÇÏ¸é ´õ Àб⠽±°í °ü¸®Çϱâ ÁÁ´Ù´Â »ç½ÇÀ» ´«Ä¡Ã¤¼ÌÀ» °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, ÇÔ¼öÀÇ ¸Å°³º¯¼ö ¸®½ºÆ®¿¡¼­ °¢ ¸Å°³º¯¼öÀÇ À̸§À» ¾Õ¿¡ "p" ¶Ç´Â "p_"¸¦ µÎ¾î ÁöÀ¸¸é ÇÑ ´«¿¡ ±×ÀÇ Æ¯¼öÇÑ º»¼ºÀ» ½±°Ô ±¸º°ÇÒ ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ÇÔ¼ö¿¡ ¼ö ½Ê°³ÀÇ Áö¿ª º¯¼ö°¡ µé¾î Àִµ¥ ÀüºÎ ÁÖÀǸ¦ ±â¿ï¿© ½Å°æÀ» ½á¾ßÇÒ ¶§ À¯¿ëÇÕ´Ï´Ù. ºñ½ÁÇÏ°Ô, Á¢µÎ»ç "r"À̳ª "r_"Àº ByRef ¸Å°³º¯¼ö¿¡ »ç¿ëÇϸé ÁÁ°í, "s"³ª "s_"´Â Á¤Àû º¯¼ö¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

One True Brace (OTB) ½ºÅ¸ÀÏÀ» ¼±ÅÃÀûÀ¸·Î ÇÔ¼ö¸¦ Á¤ÀÇÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î:

Add(x, y) {
    return x + y
}

#Include¸¦ »ç¿ëÇÏ¿© ¿©·¯ ½ºÅ©¸³Æ® »çÀÌ¿¡ ÇÔ¼ö °øÀ¯Çϱâ

#Include Áö½Ã¾î¸¦ »ç¿ëÇϸé (½ºÅ©¸³Æ®ÀÇ »ó´Ü¿¡µµ °¡´É) ÇÔ¼ö¸¦ ¿ÜºÎ ÆÄÀϷκÎÅÍ ÀûÀçÇÒ ¼ö ÀÖ½À´Ï´Ù.

¼³¸í: ½ºÅ©¸³Æ®ÀÇ ½ÇÇà È帧ÀÌ ÇÔ¼ö Á¤ÀǸ¦ ¸¸´Ù¸é, (¼ø°£ÀûÀ¸·Î) ±×°ÍÀ» °Ç³Ê ¶Ù°í ÇÔ¼öÀÇ ´Ý´Â °ýÈ£ ´ÙÀ½ ÁÙºÎÅÍ ½ÇÇàÀ» Àç°³ÇÕ´Ï´Ù. °á°úÀûÀ¸·Î ½ÇÇàÀº À§ÂÊ¿¡ ÀÖ´Â ÇÔ¼ö·Î µé¾î°¥ ¼ö ¾øÀ¸¸ç, ½ºÅ©¸³Æ® ÃÖ»ó´Ü¿¡ Çϳª ÀÌ»óÀÇ ÇÔ¼ö°¡ Á¸ÀçÇÏ´õ¶óµµ ÀÚµ¿-½ÇÇà ¼½¼Ç¿¡ ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê½À´Ï´Ù.

ÇÔ¼ö ¶óÀ̺귯¸®: Ç¥ÁØ ¶óÀ̺귯¸®¿Í »ç¿ëÀÚ ¶óÀ̺귯¸® [v1.0.47+]

½ºÅ©¸³Æ®´Â ¿ÜºÎ ÆÄÀÏ¿¡ ÀÖ´Â ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. #Include¸¦ »ç¿ëÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ±×·¯·Á¸é ÇÔ¼ö¿Í °°Àº À̸§ÀÇ ÆÄÀÏÀÌ ´ÙÀ½ ¶óÀ̺귯¸® µð·ºÅ丮 Áß Çϳª¿¡ Á¸ÀçÇØ¾ß ÇÕ´Ï´Ù:

%A_ScriptDir%\Lib\  ; Áö¿ª ¶óÀ̺귯¸® - Çʼö AHK_L 42+.
%A_MyDocuments%\AutoHotkey\Lib\  ; »ç¿ëÀÚ ¶óÀ̺귯¸®.
path-to-the-currently-running-AutoHotkey.exe\Lib\  ; Ç¥ÁØ ¶óÀ̺귯¸®.

¿¹¸¦ µé¾î, ½ºÅ©¸³Æ®°¡ Á¸ÀçÇÏÁö ¾Ê´Â ÇÔ¼ö MyFunc()¸¦ È£ÃâÇϸé, ÇÁ·Î±×·¥Àº »ç¿ëÀÚ ¶óÀ̺귯¸®¿¡¼­ "MyFunc.ahk"¶ó¸¥ À̸§ÀÇ ÆÄÀÏÀ» ã½À´Ï´Ù. ¹ß°ßÇÏÁö ¸øÇϸé, Ç¥ÁØ ¶óÀ̺귯¸®¿¡¼­ ã½À´Ï´Ù. ¿©ÀüÈ÷ ¹ß°ßÇÏÁö ¸øÇÏ¸é ±×¸®°í ÇÔ¼öÀÇ À̸§¿¡ ¹ØÁÙÀÌ Æ÷ÇԵǾî ÀÖ´Ù¸é (¿¹, MyPrefix_MyFunc), ÇÁ·Î±×·¥Àº µÎ ¶óÀ̺귯¸®¸¦ ¸ðµÎ µÚÁ® MyPrefix.ahk¶ó´Â À̸§ÀÇ ÆÄÀÏÀ» ã°í ÀÖ´Ù¸é ±×°ÍÀ» ÀûÀçÇÕ´Ï´Ù. ÀÌ·¸°Ô Çϸé MyPrefix.ahk¿¡ ÇÔ¼ö MyPrefix_MyFunc¸¦ ´ÙÀ½À» ¼öÀÖ°í À̸§ÀÌ MyPrefix_·Î ½ÃÀÛÇÏ´Â ±âŸ ÇÔ¼öµéÀ» ´ãÀ» ¼ö ÀÖ½À´Ï´Ù.

[AHK_L 42+]: Áö¿ª ¶óÀ̺귯¸®°¡ Áö¿øµË´Ï´Ù. ¸ÕÀú Áö¿ª ¶óÀ̺귯¸®¸¦ °Ë»öÇÑ ´ÙÀ½¿¡ »ç¿ëÀÚ ¶óÀ̺귯¸®¿Í Ç¥ÁØ ¶óÀ̺귯¸®¸¦ Â÷·Ê·Î °Ë»öÇÕ´Ï´Ù.

MyFunc()¿Í °°ÀÌ Á÷Á¢ È£Ãâ Çؾ߸¸ ¶óÀ̺귯¸®°¡ ÀÚµ¿-Æ÷ÇԵ˴ϴÙ. ÇÔ¼ö°¡ ¿¹¸¦ µé¾î ŸÀ̸ӳª ±¸ÀÌ À̺¥Æ® °°ÀÌ, µ¿Àû ¶Ç´Â °£Á¢ÀûÀ¸·Î È£ÃâµÉ ¶§¸¸, ¸í½ÃÀûÀ¸·Î ¶óÀ̺귯¸®¸¦ ½ºÅ©¸³Æ®¿¡ Æ÷ÇÔ½ÃÄÑ¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î: #Include <MyFunc>

¶óÀ̺귯¸® ÆÄÀÏÀº ÀϹÝÀûÀ¸·Î ±×ÀÇ ÆÄÀÏ À̸§À¸·Î ¿ÀÁ÷ ÇϳªÀÇ ÇÔ¼ö¸¸ ´ã°í ÀÖÁö¸¸, »çÀûÀ¸·Î ÀڽŸ¸ È£ÃâÇÒ ÇÔ¼ö³ª ¼­ºê·çƾÀ» ´ãÀ» ¼öµµ ÀÖ½À´Ï´Ù. ±×·¸Áö¸¸, ±×·± ÇÔ¼ö´Â À̸§ÀÌ ±¸º°µÇ¾î¾ß ÇÕ´Ï´Ù. ¿Ö³ÄÇÏ¸é ±×°ÍµéÀº Àü¿ª À̸§°ø°£ ¾È¿¡ ¿©ÀüÈ÷ Á¸ÀçÇÒ °ÍÀ̱⠶§¹®ÀÔ´Ï´Ù; Áï, ±×°ÍµéÀº ½ºÅ©¸³Æ® ¾îµð¿¡¼­³ª È£ÃâµÉ ¼ö ÀÖ½À´Ï´Ù.

¶óÀ̺귯¸® ÆÄÀÏÀÌ #Include¸¦ »ç¿ëÇϸé, #Include¸¦ À§ÇÑ ÀÛ¾÷ µð·ºÅ丮´Â ±× ¶óÀ̺귯¸® ÆÄÀÏÀÇ µð·ºÅ丮ÀÔ´Ï´Ù. À̸¦ ÀÌ¿ëÇϸé ÇØ´ç ÇÔ¼ö¿Í °ü·Ã ÇÔ¼öµéÀÌ µé¾î ÀÖ´Â ´õ Å« ¶óÀ̺귯¸® ÆÄÀÏ·Î ¹æÇâÀüȯÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù.

½ºÅ©¸³Æ® ÄÄÆÄÀÏ·¯ (ahk2exe)µµ ¶óÀ̺귯¸® ÇÔ¼ö¸¦ Áö¿øÇÕ´Ï´Ù. ±×·¸Áö¸¸, AutoHotkey.exe »çº»ÀÌ À§ÀÇ ÄÄÆÄÀÏ·¯ µð·ºÅ丮¿¡ Á¸ÀçÇØ¾ß ÇÕ´Ï´Ù (º¸Åë ±×·² °ÍÀÔ´Ï´Ù). AutoHotkey.exe°¡ ¾ø¾îµµ, ÄÄÆÄÀÏ·¯´Â ¿©ÀüÈ÷ ÀÛµ¿ÇÏÁö¸¸, ¶óÀ̺귯¸® ÇÔ¼ö´Â ÀÚµ¿À¸·Î Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.

¶óÀ̺귯¸®·ÎºÎÅÍ Æ÷ÇÔµÈ ÇÔ¼öµéÀº ´Ù¸¥ ÇÔ¼ö¿Í ¶È°°ÀÌ ¼öÇàµË´Ï´Ù. ¿Ö³ÄÇÏ¸é ½ºÅ©¸³Æ®°¡ ½ÇÇàµÇ±â Àü¿¡ ¹Ì¸®-ÀûÀçµÇ±â ¶§¹®ÀÔ´Ï´Ù.

³»Àå ÇÔ¼ö

³»Àå ÇÔ¼öÀÇ ¸Å°³º¯¼ö ¸®½ºÆ® ³¡¿¡ ¼±ÅÃÀûÀÎ ¸Å°³º¯¼ö´Â ¿ÏÀüÈ÷ »ý·«Çصµ ÁÁ½À´Ï´Ù. ¿¹¸¦ µé¾î, WinExist("Untitled - Notepad")´Â À¯È¿ÇÕ´Ï´Ù. ¿Ö³ÄÇÏ¸é ±×ÀÇ ´Ù¸¥ ¼¼ ¸Å°³º¯¼ö°¡ ºó °ÍÀ¸·Î °£ÁֵDZ⠶§¹®ÀÔ´Ï´Ù.

³»Àå ÇÔ¼ö´Â ½ºÅ©¸³Æ®°¡ ÀÚ½ÅÀÇ ÇÔ¼ö¸¦ °°Àº À̸§À¸·Î Á¤ÀÇÇÏ¸é ¿À¹ö¶óÀ̵åµË´Ï´Ù. ¿¹¸¦ µé¾î, ½ºÅ©¸³Æ®´Â ÀڽŸ¸ÀÇ ¸ÂÃã WinExist() ÇÔ¼ö¸¦ °¡Áú ¼ö ÀÖ½À´Ï´Ù. Ç¥ÁØ ÇÔ¼ö ´ë½Å¿¡ ÀÌ ÇÔ¼ö°¡ È£ÃâµË´Ï´Ù. ±×·¸Áö¸¸, ±×·¸°Ô µÇ¸é ½ºÅ©¸³Æ®´Â ¿ø·¡ ÇÔ¼ö¸¦ È£ÃâÇÒ ¹æ¹ýÀÌ ¾ø¾îÁ® ¹ö¸³´Ï´Ù.

DLL ÆÄÀÏ¿¡ °ÅÁÖÇÏ´Â ¿ÜºÎ ÇÔ¼ö´Â DllCall()À¸·Î È£ÃâÇÕ´Ï´Ù.

ÀÚÁÖ-»ç¿ëµÇ´Â ÇÔ¼ö

FileExist(FilePattern): FilePatternÀÌ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é ºó °ªÀ» (ºó ¹®ÀÚ¿­) µ¹·ÁÁÝ´Ï´Ù (FilePatternÀº Àý´ë °æ·Î°¡ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é A_WorkingDir¿¡ ÀÖ´Ù°í °£ÁÖÇÕ´Ï´Ù). ±×·¸Áö ¾ÊÀ¸¸é, ºÎÇÕÇϴ ù ÆÄÀÏÀ̳ª Æú´õÀÇ ¼Ó¼º ¹®ÀÚ¿­À» µ¹·Á ÁÝ´Ï´Ù ("RASHNDOCT"ÀÇ ÇÏÀ§ÁýÇÕ). (ÀÖ±â Èûµç °æ¿ìÀÌÁö¸¸) ÆÄÀÏ¿¡ ¾Æ¹« ¼Ó¼ºµµ ¾øÀ¸¸é, "X"°¡ ¹ÝȯµË´Ï´Ù. FilePattern´Â ÆÄÀÏÀ̳ª Æú´õÀÇ Á¤È®ÇÑ À̸§ÀÏ ¼ö ÀÖÁö¸¸, ¿ÍÀϵåÄ«µå(* ¶Ç´Â ?)¸¦ Æ÷ÇÔÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ºó ¹®ÀÚ¿­Àº "false"¶ó°í °£ÁֵǹǷÎ, ÇÔ¼öÀÇ ¹Ýȯ °ªÀº ¾ðÁ¦³ª ¾î¸²-ºÒ¸®¾ð °ªÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ¼­¼ú¹® if FileExist("C:\My File.txt")´Â ÆÄÀÏÀÌ Á¸ÀçÇϸé ÂüÀÌµÇ°í ±×·¸Áö ¾ÊÀ¸¸é °ÅÁþÀÌ µË´Ï´Ù. ºñ½ÁÇÏ°Ô, ¼­¼ú¹® if InStr(FileExist("C:\My Folder"), "D")´Â ÆÄÀÏÀÌ Á¸ÀçÇÏ°í ±×¸®°í µð·ºÅäÀÌÀÏ °æ¿ì¿¡¸¸ ÂüÀÌ µË´Ï´Ù. ´ÙÀ½Àº »óÀÀÇÏ´Â ¸í·É¾îÀÔ´Ï´Ù: IfExist ±×¸®°í FileGetAttrib.

GetKeyState(KeyName [, "P" or "T"]): GetKeyState ¸í·É¾î¿Í ´Ù¸£°Ô -- ´©¸£¸é D ±×¸®°í ¶¼¸é U¸¦ µ¹·ÁÁִµ¥ ºñÇØ -- ÀÌ ÇÔ¼ö´Â Å°°¡ ´­·Á ÀÖÀ¸¸é Âü(1) ¶¾ »óÅÂÀÌ¸é °ÅÁþ(0)À» µ¹·ÁÁÝ´Ï´Ù. KeyNameÀÌ À¯È¿ÇÏÁö ¾ÊÀ¸¸é, ºó ¹®ÀÚ¿­ÀÌ ¹ÝȯµË´Ï´Ù. ´Ù¸¥ ¹Ýȯ °ª°ú »ç¿ë¹ý¿¡ °üÇÑ Á¤º¸´Â GetKeyState¸¦ ÂüÁ¶ÇϽʽÿÀ.

InStr(Haystack, Needle [, CaseSensitive = false, StartingPos = 1, Occurrence = 1]): Haystack ¹®ÀÚ¿­¿¡¼­ NeedleÀÌ ³ªÅ¸³­ À§Ä¡¸¦ µ¹·ÁÁÝ´Ï´Ù. StringGetPos¿Í ´Ù¸£°Ô, À§Ä¡ 1ÀÌ Ã¹ ¹ø° ¹®ÀÚÀÔ´Ï´Ù; ¿Ö³ÄÇϸé 0Àº "false"¿Í µ¿ÀǾîÀ̱⠶§¹®¿¡, Á÷°üÀûÀ¸·Î "¹ß°ßÇÏÁö ¸øÇÔ"ÀÇ ¶æÀÌ µË´Ï´Ù. ¸Å°³º¯¼ö CaseSensitive¸¦ »ý·«Çϰųª °ÅÁþÀ̸é, ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÏÁö ¾Ê°í °Ë»öÇÕ´Ï´Ù (´ë¼Ò¹®ÀÚÀÇ ±¸º°Àº StringCaseSense¿¡ µû¸¨´Ï´Ù); ±×·¸Áö ¾ÊÀ¸¸é, ´ë¼Ò¹®ÀÚ°¡ Á¤È®ÇÏ°Ô ÀÏÄ¡ÇØ¾ß ÇÕ´Ï´Ù. StartingPos¸¦ »ý·«Çϸé, 1ÀÌ ±âº»°ªÀÌ µË´Ï´Ù (HaystackÀÇ ½ÃÀÛ). ±×·¸Áö ¾Ê°í, 2¸¦ ÁöÁ¤Çϸé HaystackÀÇ µÎ ¹ø° ¹®ÀÚºÎÅÍ ½ÃÀÛÇÏ°í, 3ÀÌ¸é ¼¼ ¹ø° ¹®ÀÚºÎÅÍ µîµî ½ÃÀÛÇÕ´Ï´Ù. StartingPos°¡ HaystackÀÇ ±æÀ̸¦ ³Ñ¾î¼­¸é, 0ÀÌ ¹ÝȯµË´Ï´Ù. StartingPos°¡ 0À̰ųª À½¼öÀ̸é, ³¡¿¡¼­ºÎÅÍ ÇØ´ç ¿ÀÇÁ¼Â¿¡¼­ ½ÃÀÛÇÏ¿© ¿ª¹æÇâÀ¸·Î (¿À¸¥ÂÊ¿¡¼­ ¿ÞÂÊÀ¸·Î) °Ë»öÀÌ ¼öÇàµË´Ï´Ù. StartingPosÀÇ °ª¿¡ °ü°è ¾øÀÌ, ¹Ýȯ À§Ä¡´Â ¾ðÁ¦³ª HaystackÀÇ Ã¹ ¹®ÀÚ¿¡ »ó´ëÀûÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, "123abc789"¿¡¼­ "abc" ÀÇ À§Ä¡´Â ¾ðÁ¦³ª 4ÀÔ´Ï´Ù. Occurrence¿¡ 2À» ÁöÁ¤ÇÏ¸é µÎ ¹ø° ºÎÇÕÇÑ À§Ä¡¸¦ µ¹·ÁÁÖ°í, 3Àº ¼¼ ¹ø° ºÎÇÕ µîµîÀÇ À§Ä¡¸¦ µ¹·ÁÁÝ´Ï´Ù. °ü·Ã Ç׸ñ: RegExMatch(), IfInString, ±×¸®°í StringGetPos.

RegExMatch(Haystack, NeedleRegEx [, UnquotedOutputVar = "", StartingPos = 1]): ¹®ÀÚ¿­ ¾È¿¡¼­ ÆÐÅÏ (Á¤±Ô Ç¥Çö½Ä)¿¡ ºÎÇÕÇÏ´Â °ÍµéÀ» ã½À´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº RegExMatch()¸¦ ÂüÁ¶ÇϽʽÿÀ.

RegExReplace(Haystack, NeedleRegEx [, Replacement = "", OutputVarCount = "", Limit = -1, StartingPos = 1]): ¹®ÀÚ¿­ ¾È¿¡¼­ ÆÐÅÏ (Á¤±Ô Ç¥Çö½Ä)¿¡ ºÎÇÕÇÏ´Â °ÍµéÀ» ±³Ã¼ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº RegExReplace()¸¦ ÂüÁ¶ÇÕ´Ï´Ù.

SubStr(String, StartingPos [, Length]) [v1.0.46+]: ºÎºÐ¹®ÀÚ¿­À» StringÀ¸·ÎºÎÅÍ º¹»çÇÕ´Ï´Ù. StartingPos¿¡¼­ ½ÃÀÛÇؼ­ ¿À¸¥ÂÊÀ¸·Î ÁøÇàÇؼ­ ÃÖ´ë Length°³ÀÇ ¹®ÀÚ¸¦ Æ÷ÇÔÇÕ´Ï´Ù (Length¸¦ »ý·«Çϸé, ±âº» °ªÀº "¸ðµç ¹®ÀÚ"ÀÔ´Ï´Ù). StartingPos¿¡ 1À» ÁöÁ¤Çϸé ù ¹ø° ¹®ÀÚ¿¡¼­, 2À» ÁöÁ¤Çϸé 2¹ø° ¹®ÀÚºÎÅÍ ½ÃÀÛÇÕ´Ï´Ù. µîµî. ( StartingPos°¡ StringÀÇ ±æÀ̸¦ ³Ñ¾î¼­¸é, ºó ¹®ÀÚ¿­ÀÌ ¹ÝȯµË´Ï´Ù). StartingPos°¡ 1º¸´Ù ÀÛÀ¸¸é, ¹®ÀÚ¿­ ³¡À¸·ÎºÎÅÍÀÇ ¿ÀÇÁ¼ÂÀ¸·Î °£Áֵ˴ϴÙ. ¿¹¸¦ µé¾î, 0Àº °¡Àå ¸¶Áö¸· ¹®ÀÚ¸¦ ÃßÃâÇÏ°í, -1ÀÌ¸é ±× ¹®ÀÚ¿­ÀÇ ¸¶Áö¸· ¹®ÀڷκÎÅÍ 1¸¸Å­ ¿ÞÂÊÀ¸·Î ¶³¾îÁ® ÀÖ´Ù°í °£Áֵ˴ϴÙ. (±×·¯³ª StartingPos°¡ ¹®ÀÚ¿­ÀÇ ¿ÞÂÊ ³¡À» ³Ñ¾î¼­ ½ÃµµÇϸé, ù ¹®ÀÚºÎÅÍ ÃßÃâÀ» ½ÃÀÛÇÕ´Ï´Ù). Length´Â ¿­¶÷ÇÒ ÃÖ´ë ¹®ÀÚ °³¼öÀÔ´Ï´Ù (¹®ÀÚ¿­ÀÇ ³ª¸ÓÁö ºÎºÐÀÌ ³Ê¹« ªÀ¸¸é ÃÖ´ë °³¼öº¸´Ù Àû°Ô ¿­¶÷µË´Ï´Ù). À½ÀÇ ±æÀÌ(Length)¸¦ ÁöÁ¤ÇÏ¸é ¹ÝȯµÈ ¹®ÀÚ¿­ÀÇ ³¡À¸·ÎºÎÅÍ ¹®ÀÚ¸¦ ±× °³¼ö ¸¸Å­ »ý·«ÇÕ´Ï´Ù (¸ðµç ¶Ç´Â ³Ê¹« ¸¹Àº ¹®ÀÚ¸¦ »ý·«ÇÏ¸é ºó ¹®ÀÚ¿­ÀÌ ¹ÝȯµË´Ï´Ù). °ü·Ã Ç׸ñ: RegExMatch(), StringMid, StringLeft/Right, StringTrimLeft/Right.

StrLen(String): ¹®ÀÚ¿­ StringÀÇ ±æÀ̸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº StrLen()À» ÂüÁ¶ÇÕ´Ï´Ù.

StrSplit(String [, Delimiters, OmitChars]) [v1.1.13+]: ÁöÁ¤µÈ °¡¸§ÀÚ¸¦ »ç¿ëÇÏ¿© ¹®ÀÚ¿­À» ºÎºÐ¹®ÀÚ¿­ ¹è¿­·Î ºÐÇÒÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº StrSplit()À» ÂüÁ¶ÇÕ´Ï´Ù.

WinActive([WinTitle, WinText, ExcludeTitle, ExcludeText]): ÁöÁ¤µÈ ±âÁØ¿¡ ºÎÇÕÇÏ´Â È°¼º âÀÇ Unique ID (HWND)¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº WinActive()¸¦ ÂüÁ¶ÇϽʽÿÀ.

WinExist([WinTitle, WinText, ExcludeTitle, ExcludeText]): ù ¹ø°·Î ºÎÇÕÇϴ âÀÇ Unique ID (HWND)¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº WinExist()¸¦ ÂüÁ¶ÇϽʽÿÀ.

±âŸ ÇÔ¼ö

Asc(String): String¿¡¼­ ù ¹ÙÀÌÆ® ¶Ç´Â UTF-16 ÄÚµå À¯´ÖÀÇ ¼ýÄ¡ °ªÀ» µ¹·ÁÁÝ´Ï´Ù. ¶Ç´Â StringÀÌ ºñ¾î ÀÖÀ¸¸é 0À» µ¹·ÁÁÝ´Ï´Ù. ¹Ýȯ °ªÀº ¹üÀ§°¡ 0ºÎÅÍ 255±îÁöÀÔ´Ï´Ù (ANSI) ¶Ç´Â 0ºÎÅÍ 0xFFFF±îÁöÀÔ´Ï´Ù (Unicode). ÀÚ¼¼ÇÑ °ÍÀº Unicode vs ANSI¸¦ ÂüÁ¶ÇÕ´Ï´Ù. À¯´ÏÄÚµå º¸Ãæ ¹®ÀÚ¸¦ Çã¿ëÇÏ·Á¸é, ´ë½Å¿¡ Ord(String)¸¦ »ç¿ëÇϽʽÿÀ.

Chr(Number): Number°¡ ³ªÅ¸³»´Â ¹®ÀÚ Äڵ忡 »óÀÀÇÏ´Â ¹®ÀÚ¸¦ µ¹·ÁÁÝ´Ï´Ù (º¸Åë ¹®ÀÚ Çϳª). 127º¸´Ù Å« ¹®ÀÚ ÄÚµåÀÇ Àǹ̴ »ç¿ë ÁßÀÎ ¹®ÀÚ¿­ ÀÎÄÚµù¿¡ ´Þ·Á ÀÖ½À´Ï´Ù. ¹®ÀÚ ÀÎÄÚµùÀº ÀÌÁ¦ »ç¿ëÁßÀÎ ½ÇÇà ÆÄÀÏÀÌ Unicode ¶Ç´Â ANSIÀΰ¡¿¡ µû¶ó ´Þ¶óÁý´Ï´Ù. À¯´ÏÄÚ°¡ Áö¿øµÇ¸é, Number´Â 0ºÎÅÍ 0x10FFFF »çÀÌÀÇ À¯´ÏÄÚµå ¹®ÀÚ ÄÚµåÀÔ´Ï´Ù ([v1.1.21]ÀÌÀüÀ̶ó¸é 0xFFFF); ±×·¸Áö ¾Ê°í ANSI ¹®ÀÚ ÄÚµå´Â ¹üÀ§°¡ 0ºÎÅÍ 255 »çÀÌÀÔ´Ï´Ù. Number°¡ À¯È¿ÇÑ ¹®ÀÚ ÄÚµå ¹üÀ§¿¡ ÀÖÁö ¾ÊÀ¸¸é, ºó ¹®ÀÚ¿­ÀÌ ¹ÝȯµË´Ï´Ù. ÈçÇÑ ¹®ÀÚ ÄÚµå·Î´Â 9 (ÅÇ), 10 (¶óÀÎÇǵå), 13 (ij¸®Áö ¸®ÅÏ), 32 (½ºÆäÀ̽º), 48-57 (¼ýÀÚ 0-9), 65-90 (´ë¹®ÀÚ A-Z), ±×¸®°í 97-122 (¼Ò¹®ÀÚ a-z)°¡ ÀÖ½À´Ï´Ù.

DllCall(): ¿¹¸¦ µé¾î Ç¥ÁØ À©µµ¿ìÁî API ÇÔ¼ö °°ÀÌ, DLL ¾È ÇÔ¼ö¸¦ È£ÃâÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº DllCall()À» ÂüÁ¶ÇÕ´Ï´Ù.

FileOpen(): °´Ã¼-ÁöÇâÀû ÆÄÀÏ I/O¸¦ Á¦°øÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº FileOpen()¸¦ ÂüÁ¶ÇÕ´Ï´Ù.

Func(FunctionName) [v1.1.00+]: (¿¹¸¦ µé¾î #Include·Î Æ÷ÇÔÇϰųª ¶Ç´Â ¶óÀ̺귯¸® ÇÔ¼ö¸¦ °íÁ¤ È£ÃâÇÏ¿©) FunctionNameÀÌ ¸í½ÃÀûÀ¸·Î ½ºÅ©¸³Æ®¿¡ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é, Func()´Â 0À» µ¹·ÁÁÝ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ±× ÇÔ¼ö¸¦ °¡¸®Å°´Â ÂüÁ¶ ÁÖ¼Ò¸¦ ¹ÝȯÇÕ´Ï´Ù. ÇÔ¼ö¸¦ È£ÃâÇϰųª ¸Å°³º¯¼öÀÇ ÃÖ´ë ÃÖ¼Ò °¹¼ö °°Àº Á¤º¸¸¦ ¿­¶÷ÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

GetKeyName(Key), GetKeyVK(Key), GetKeySC(Key) [v1.1.01+]: ÇÑ Å°ÀÇ ½ºÄµ Äڵ峪 °¡»ó ÄÚµå ¶Ç´Â À̸§/ÅؽºÆ®¸¦ ¿­¶÷ÇÕ´Ï´Ù. Key´Â "vkA2"³ª "sc01D"¿Í °°ÀÌ VK Äڵ峪 SC ÄÚµåÀÏ ¼ö ÀÖ½À´Ï´Ù. Å° À̸§À̰ųª ¾Æ´Ï¸é µÑÀ» Á¶ÇÕÇÑ °ÍÀÏ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î GetKeyName("vk1B")¿Í GetKeyName("Esc") ¸ðµÎ "Escape"¸¦ µ¹·ÁÁÖ´Â ¹Ý¸é¿¡, GetKeyVK("Esc")´Â 27À» µ¹·ÁÁÝ´Ï´Ù. VK ÄÚµå¿Í SC ÄÚµå´Â ½ÊÀ°Áø¼öÀÓ¿¡ À¯ÀÇÇϽʽÿÀ. ½ÊÁø¼ö¸¦ ÀûÀýÇÑ Æ÷¸ËÀ¸·Î º¯È¯ÇÏ·Á¸é, Format("vk{:x}", vk_code)À̳ª Format("sc{:x}", sc_code)¸¦ »ç¿ëÇÕ´Ï´Ù.

IsByRef(Var) [v1.1.01+]: Var°¡ ByRef ¸Å°³º¯¼öÀÌ°í È£ÃâÀÚ°¡ º¯¼ö¸¦ °ø±ÞÇßÀ¸¸é 1À» µ¹·ÁÁÝ´Ï´Ù; ¶Ç´Â Var°¡ ´Ù¸¥ Á¾·ùÀÇ º¯¼öÀ̸é 0À» µ¹·ÁÁÝ´Ï´Ù.

IsFunc(FunctionName) [v1.0.48+]: (¿¹¸¦ µé¾î #Include·Î Æ÷ÇÔÇϰųª ¶Ç´Â ¶óÀ̺귯¸® ÇÔ¼ö¸¦ °íÁ¤ È£ÃâÇÏ¿©) FunctionNameÀÌ ½ºÅ©¸³Æ®¿¡ ¸í½ÃÀûÀ¸·Î Á¸ÀçÇÏÁö ¾ÊÀ¸¸é, IsFunc()´Â 0À» µ¹·ÁÁÝ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¸Å°³º¯¼öÀÇ ÃÖ¼Ò °³¼ö¿¡ 1À» ´õÇØ µ¹·ÁÁÝ´Ï´Ù (¿¹, ¸Å°³º¯¼ö¸¦ ¿ä±¸ÇÏÁö ¾Ê´Â ÇÔ¼ö´Â 1, ¸Å°³º¯¼ö¸¦ 1 ¿À±¸ÇÏ´Â ÇÔ¼ö´Â 2, µîµî). ¿¹¸¦ µé¾î, if IsFunc("MyFunc")¿Í if IsFunc(VarContainingFunctionName)´Â ÇÔ¼ö°¡ Á¸ÀçÇϸé ÂüÀÔ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é °ÅÁþÀÔ´Ï´Ù. v1.1.00+¿¡¼­, FunctionName´Â À̸§ÀÌ ¾Æ´Ï¶ó ÇÔ¼ö ÂüÁ¶ÀÏ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ÂüÁ¶: µ¿ÀûÀÎ ÇÔ¼ö-È£Ãâ, A_ThisFunc

IsLabel(LabelName): LabelNameÀÌ ½ºÅ©¸³Æ®¿¡ ¼­ºê·çƾ, ÇÖÅ°, ¶Ç´Â ÇÖ½ºÆ®¸µÀ¸·Î Á¸ÀçÇϸé 0ÀÌ ¾Æ´Ñ °ªÀ» µ¹·ÁÁÝ´Ï´Ù (LabelName µÚ¿¡ ½ÖÁ¡Àº Æ÷ÇÔÇÏÁö ¾Ê½À´Ï´Ù). ¿¹¸¦ µé¾î, ¼­¼ú¹® if IsLabel(VarContainingLabelName)´Â ¶óº§ÀÌ Á¸ÀçÇϸé ÂüÀÔ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é °ÅÁþÀÔ´Ï´Ù. ¿¹¸¦ µé¾î Gosub, ÇÖÅ°, ¸Þ´º, ±×¸®°í Gui¿Í °°ÀÌ ¸í·É¾î¿¡ µ¿Àû ¶óº§À» ÁöÁ¤ÇÒ ¶§ ½ÇÇà½Ã°£ ¿¡·¯¸¦ ÇÇÇÏ´Â µ¥ À¯¿ëÇÕ´Ï´Ù. ´ÙÀ½µµ ÂüÁ¶ÇϽʽÿÀ: ¶óº§.

IsObject() [AHK_L 31+]: °ªÀÌ °´Ã¼ÀÎÁö °áÁ¤ÇÕ´Ï´Ù. ´ÙÀ½ ÂüÁ¶: Objects.

ListView ±×¸®°í TreeView functions: ÀÚ¼¼ÇÑ °ÍÀº ListView ÆäÀÌÁö¿Í TreeView ÆäÀÌÁö¸¦ ÂüÁ¶ÇϽʽÿÀ.

NumGet(VarOrAddress [, Offset = 0][, Type = "UPtr"]): ÁöÁ¤µÈ ÁÖ¼Ò+¿ÀÇÁ¼Â¿¡ ÀúÀåµÈ ÀÌÁø ¼ýÀÚ¸¦ ¿­¶÷ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº NumGetÀ» ÂüÁ¶ÇÕ´Ï´Ù.

NumPut(Number, VarOrAddress [, Offset = 0][, Type = "UPtr"]): ÁöÁ¤µÈ ÁÖ¼Ò-¿ÀÇÁ¼Â¿¡ ÀÌÁø Çü½ÄÀ¸·Î ¼ýÀÚ¸¦ ÀúÀåÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº NumPutÀ» ÂüÁ¶ÇÕ´Ï´Ù.

OnMessage(MsgNumber [, "FunctionName"]): ¸Þ½ÃÁö/À̺¥Æ®¸¦ °üÁ¦ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº OnMessage()¸¦ ÂüÁ¶ÇÕ´Ï´Ù.

Ord(String) [v1.1.21+]: String¿¡¼­ ù ¹ø° ¹®ÀÚÀÇ ¼­¼ö °ªÀ» µ¹·ÁÁÝ´Ï´Ù (¼ýÄ¡ ¹®ÀÚ ÄÚµå). StringÀÌ À¯´ÏÄÚµå º¸Ãæ ¹®ÀÚ·Î ½ÃÀÛÇϸé, Ord(String)Àº ±×¿¡ »óÀÀÇÏ´Â À¯´ÏÄÚµå ¹®ÀÚ Äڵ带 µ¹·ÁÁÝ´Ï´Ù (0x10000ºÎÅÍ 0x10FFFF »çÀÌÀÇ °ª). ±×·¸Áö ¾ÊÀ¸¸é Asc(String)°ú °°Àº °ªÀ» µ¹·ÁÁÝ´Ï´Ù.

StrGet(Address [, Length] [, Encoding = None ] ) [AHK_L 46+]: ¸Þ¸ð¸® ÁּҷκÎÅÍ ¹®ÀÚ¿­À» º¹»çÇÕ´Ï´Ù. ¼±ÅÃÀûÀ¸·Î ÄÚµå ÆäÀÌÁö¿¡ µû¶ó º¯È¯ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº StrGet()À» ÂüÁ¶ÇÕ´Ï´Ù.

StrPut(String, Address [, Length] [, Encoding = None ] ) [AHK_L 46+]: ¸Þ¸ð¸® ÁÖ¼Ò¿¡ ¹®ÀÚ¿­À» º¹»çÇÕ´Ï´Ù. ¼±ÅÃÀûÀ¸·Î ÄÚµå ÆäÀÌÁö¿¡ µû¶ó º¯È¯ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº StrPut()À» ÂüÁ¶ÇÕ´Ï´Ù.

RegisterCallback(): ¸Ó½Å-ÄÚµå ÁÖ¼Ò¸¦ »ý¼ºÇÕ´Ï´Ù. È£ÃâµÉ ¶§ ÀÌ ÁÖ¼Ò¸¦ ÀÌ¿ëÇÏ¿© ½ºÅ©¸³Æ® ¾ÈÀÇ ÇÔ¼ö·Î È£ÃâÀ» ¹æÇâÀüȯ ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº RegisterCallback()À» ÂüÁ¶ÇÕ´Ï´Ù.

Trim() [AHK_L 31+]: ¹®ÀÚ¿­ÀÇ ¾Õ/µÚ¿¡¼­ ¹®ÀÚ¸¦ °È¾î³À´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº Trim()À» ÂüÁ¶ÇÕ´Ï´Ù.

VarSetCapacity(UnquotedVarName [, RequestedCapacity, FillByte]): º¯¼öÀÇ °¡¿ë ´É·ÂÀ» È®´ëÇϰųª ±×ÀÇ ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº VarSetCapacity()¸¦ ÂüÁ¶ÇÕ´Ï´Ù.

ÀÏ¹Ý ¼öÇÐ

ÁÖÀÇ: ¼öÇÐ ÇÔ¼ö´Â µé¾î¿À´Â ¸Å°³º¯¼ö°¡ ¼ýÀÚ°¡ ¾Æ´Ï¸é ÀϹÝÀûÀ¸·Î ºó ¹®ÀÚ¿­À» µ¹·ÁÁÝ´Ï´Ù.

Abs(Number): NumberÀÇ Àý´ë°ªÀ» µ¹·ÁÁÝ´Ï´Ù. ¹Ýȯ°ªÀÇ À¯ÇüÀº Number¿Í °°½À´Ï´Ù (Á¤¼ö¸é Á¤¼ö, ºÎµ¿ ¼Ò¼öÁ¡ ¼öÀÌ¸é ºÎµ¿ ¼Ò¼öÁ¡ ¼ö).

Ceil(Number): Number¸¦ °¡Àå °¡±î¿î Á¤¼ö·Î ¿Ã¸²ÇØ µ¹·ÁÁÝ´Ï´Ù (.00 ²¿¸® ¾øÀ½). ¿¹¸¦ µé¾î, Ceil(1.2)´Â 2ÀÌ°í Ceil(-1.2)´Â -1ÀÔ´Ï´Ù.

Exp(N): e (´ë·« 2.71828182845905)¸¦ N½ÂÇÏ¿© µ¹·ÁÁÝ´Ï´Ù. NÀº À½¼öÀÏ ¼ö ÀÖ°í ¼Ò¼öÁ¡ÀÌ Æ÷Ç﵃ ¼ö ÀÖ½À´Ï´Ù. e°¡ ¾Æ´Ñ ´Ù¸¥ ¼ýÀÚ¸¦ Á¦°öÇÏ·Á¸é ** ¿¬»êÀÚ¸¦ »ç¿ëÇϽʽÿÀ.

Floor(Number): Number¸¦ °¡Àå °¡±î¿î Á¤¼ö·Î ³»¸²ÇØ µ¹·ÁÁÝ´Ï´Ù(.00 ²¿¸® ¾øÀ½). ¿¹¸¦ µé¾î, Floor(1.2)´Â 1ÀÌ°í Floor(-1.2)´Â -2ÀÔ´Ï´Ù.

Log(Number): NumberÀÇ »ó¿ë·Î±×¸¦ µ¹·ÁÁÝ´Ï´Ù (¹Ø¼ö 10). °á°ú´Â ºÎµ¿ ¼Ò¼öÁ¡ ¼ö·Î Æ÷¸ËµË´Ï´Ù. Number°¡ À½¼öÀ̸é, ºó ¹®ÀÚ¿­ÀÌ ¹ÝȯµË´Ï´Ù.

Ln(Number): NumberÀÇ ÀÚ¿¬·Î±×¸¦ ¹ÝȯÇÕ´Ï´Ù (¹Ø¼ö e). °á°ú´Â ºÎµ¿ ¼Ò¼öÁ¡ ¼ö·Î Æ÷¸ËµË´Ï´Ù. Number°¡ À½¼öÀ̸é, ºó ¹®ÀÚ¿­ÀÌ ¹ÝȯµË´Ï´Ù.

Mod(Dividend, Divisor): ³ª¸ÓÁö ¿¬»ê(Modulo)ÀÔ´Ï´Ù. ÇÇÁ¬¼ö¸¦ Á¬¼ö·Î ³ª´« ³ª¸ÓÁö¸¦ µ¹·ÁÁÝ´Ï´Ù. °á°úÀÇ ºÎÈ£´Â ¾ðÁ¦³ª ù ¸Å°³º¯¼öÀÇ ºÎÈ£¿Í °°½À´Ï´Ù. ¿¹¸¦ µé¾î, mod(5, 3)°ú mod(5, -3) ¸ðµÎ 2¸¦ »êÃâÇÏÁö¸¸, mod(-5, 3)°ú mod(-5, -3)´Â -2¸¦ »êÃâÇÕ´Ï´Ù. µÎ ÀÔ·Â Áß Çϳª¶óµµ ºÎµ¿ ¼Ò¼öÁ¡ ¼öÀ̸é, ±× °á°úµµ ºÎµ¿ ¼Ò¼öÁ¡ ¼öÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, mod(5.0, 3)Àº 2.0ÀÌ°í mod(5, 3.5)Àº 1.5ÀÔ´Ï´Ù. µÎ ¹ø° ¸Å°³º¯¼ö°¡ 0À̸é, ÇÔ¼ö´Â ºó °á°ú (ºó ¹®ÀÚ¿­)À» µ¹·ÁÁÝ´Ï´Ù.

Round(Number [, N]): NÀ» »ý·«Çϰųª, 0À̸é, Number´Â °¡Àå °¡±î¿î Á¤¼ö·Î ¹Ý¿Ã¸²µË´Ï´Ù. NÀÌ ¾ç¼öÀ̸é, Number ´Â N ½ÊÁø ÀÚ¸®¿¡¼­ ¹Ý¿Ã¸²µË´Ï´Ù. NÀÌ À½¼öÀ̸é, Number´Â ½ÊÁø ¼Ò¼öÁ¡ÀÇ ¿ÞÂÊÀ¸·Î N ÀÚ¸®¿¡¼­ ¹Ý¿Ã¸²µË´Ï´Ù. ¿¹¸¦ µé¾î, Round(345, -1)´Â 350ÀÌ°í Round(345, -2)´Â 300 ÀÔ´Ï´Ù. Transform Round¿Í ´Ù¸£°Ô , 1 º¸´Ù À۰ųª NÀ» »ý·«ÇÏ¸é ±× °á°ú´Â .000 ²¿¸®°¡ ¾ø½À´Ï´Ù. v1.0.44.01+¿¡¼­, NÀÇ °ªÀÌ 0º¸´Ù Å©¸é SetFormat¿¡ ÀÇÁ¸ÇÏÁö ¾Ê°í Á¤È®ÇÏ°Ô N ÀÚ¸®ÀÇ ½ÊÁø¼ö¸¦ º¸¿©ÁÝ´Ï´Ù. À̸¦ ÇÇÇÏ·Á¸é, Round()ÀÇ ¹Ýȯ °ª¿¡ ´Ù¸¥ ¼öÇÐ ¿¬»êÀ» ¼öÇàÇϽʽÿÀ; ¿¹¸¦ µé¾î: Round(3.333, 1)+0.

Sqrt(Number): NumberÀÇ Æò¹æ±ÙÀ» µ¹·ÁÁÝ´Ï´Ù. ±× °á°ú´Â ºÎµ¿ ¼Ò¼öÁ¡ ¼ö·Î Æ÷¸ËµË´Ï´Ù. Number°¡ À½¼öÀ̸é, ºó ¹®ÀÚ¿­À» µ¹·ÁÁÝ´Ï´Ù.

»ï°¢ÇÔ¼ö

Sin(Number) | Cos(Number) | Tan(Number): NumberÀÇ »çÀÎ|ÄÚ»çÀÎ|źÁ¨Æ® »ï°¢ÇÔ¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù. Number´Â ¶óµð¾ÈÀ¸·Î Ç¥ÇöÇØ¾ß ÇÕ´Ï´Ù.

ASin(Number): ¶óµð¾È ´ÜÀ§·Î ¾ÆÅ©»çÀÎÀ» µ¹·ÁÁÝ´Ï´Ù (Number´Â ±×ÀÇ »çÀΰªÀÔ´Ï´Ù) Number°¡ -1 º¸´Ù À۰ųª 1 º¸´Ù Å©¸é, ºó °á°ú (ºó ¹®ÀÚ¿­)À» µ¹·ÁÁÝ´Ï´Ù.

ACos(Number): ¶óµð¾È ´ÜÀ§·Î ¾ÆÅ©ÄÚ»çÀÎÀ» ¿Ã·ÁÁÝ´Ï´Ù ( Number´Â ±×ÀÇ ÄÚ»çÀÎ °ªÀÔ´Ï´Ù). Number°¡ -1º¸´Ù À۰ųª 1º¸´Ù Å©¸é, ºó °á°ú (ºó ¹®ÀÚ¿­)À» »êÃâÇÕ´Ï´Ù.

ATan(Number): ¶óµð¾È ´ÜÀ§·Î ¾ÆũźÁ¨Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù (Number´Â ±×ÀÇ ÅºÁ¨Æ® °ªÀÔ´Ï´Ù).

ÁÖÀÇ: ¶óµð¾ÈÀ» µð±×¸®·Î º¯È¯ÇÏ·Á¸é, 180/pi (´ë·« 57.29578)¸¦ °öÇÕ´Ï´Ù. µð±×¸®¸¦ ¶óµð¾ÈÀ¸·Î º¯È¯ÇÏ·Á¸é pi/180 (´ë·« 0.01745329252)¸¦ °öÇÕ´Ï´Ù. piÀÇ °ª (´ë·« 3.141592653589793)Àº 1 ¾ÆũźÁ¨Æ®ÀÇ 4 ¹èÀÔ´Ï´Ù.

±âŸ ÇÔ¼ö

Æú¸®¿¡Å׳×(Polyethene)ÀÇ ¸í·É¾î ÇÔ¼ö: OutputVar°¡ ÀÖ´Â AutoHotkey ¸í·É¾î¿¡ È£Ãâ °¡´ÉÇÑ ÇÔ¼ö¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ ¶óÀ̺귯¸®´Â #Include¸¦ ÅëÇÏ¿© ½ºÅ©¸³Æ®¿¡ Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù.