ÇÔ¼ö´Â ¼ºê·çƾ (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 ¸Å°³º¯¼ö¿¡ ´ëÇÏ¿© º¯¼ö¸¦ °ø±ÞÇß´ÂÁö ¾Ë ¼ö ÀÖ½À´Ï´Ù.
¾Ë·ÁÁø ÇÑ°è:
foo.bar
°¡ ByRef ¸Å°³º¯¼ö¿¡ °Ç³×Áö¸é, ¸¶Ä¡ ByRef Å°¿öµå°¡ »ý·«µÈ °Íó·³ ÇàÀ§ÇÕ´Ï´Ù.Var
¶Ç´Â ++Var
¶Ç´Â Var*=2
), ¿ÞÂÊÀ̳ª ¿À¸¥ÂÊÀÇ ´Ù¸¥ ¸Å°³º¯¼öµéÀº ±× º¯¼ö°¡ ÇÔ¼ö¿¡ °Ç³×Áö±â Àü¿¡ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, func(Var, Var++)
´Â Var°¡ óÀ½ºÎÅÍ 0ÀÏ ¶§ ¿¹»óÄ¡ ¸øÇÏ°Ô 1°ú 0À» °Ç³×°Ô µË´Ï´Ù. ½ÉÁö¾î ÇÔ¼öÀÇ Ã¹ ¸Å°³º¯¼ö°¡ 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 }
ÇÔ¼ö¸¦ Á¤ÀÇÇÒ ¶§, º°Ç¥¸¦ ¸¶Áö¸· ¸Å°³º¯¼ö µÚ¿¡ ¾²¸é ±× ÇÔ¼ö¸¦ °¡º¯ÇÔ¼ö·Î ¸¸µé ¼ö ÀÖ½À´Ï´Ù. °¡º¯ °³¼öÀÇ ¸Å°³º¯¼ö¸¦ ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù:
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*)
ÁÖÀÇ:
Object.Property[Params*]
. v1.1.12+¿¡¼´Â Ư¼ºÀ» ¼³Á¤ÇÏ´Â µ¥¿¡µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.¾Ë·ÁÁø ÇÑ°è:
Func(x, y*)
´Â Áö¿øÇÏÁö¸¸ Func(x*, y)
´Â Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.*
)¿Í ¸Å°³º¯¼ö ¸®½ºÆ®¸¦ ³¡³»´Â ½Éº¼ »çÀÌ¿¡ °ø¹é¹®ÀÚ¸»°í ´Ù¸¥ ¹®ÀÚ´Â Çã¿ëÇÏÁö ¾Ê½À´Ï´Ù.ÇÔ¼ö ¾È¿¡¼ ¸¸µé¾îÁö°í Á¢±ÙµÇ´Â ¸ðµç º¯¼öµéÀº ±âº»ÀûÀ¸·Î Áö¿ªÀûÀÔ´Ï´Ù (½´ÆÛ-Àü¿ª º¯¼ö ±×¸®°í 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 ¸ÞŸ-ÇÔ¼ö°¡ ´ë½Å¿¡ ¿äûµË´Ï´Ù.
¾Æ·¡ÀÇ ÀÌÀ¯ Áß Çϳª ¶§¹®¿¡ ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ¾ø´Ù¸é, ±× È£ÃâÀ» ´ã°í Àִ ǥÇö½ÄÀÇ Æò°¡°¡ Á¶¿ëÈ÷ ±×¸®°í ³Ê¹« »¡¸® ³¡³ª¹Ç·Î, ÀÏ°ü¼º ¾ø´Â °á°ú¸¦ µµÃâÇÒ ¼ö ÀÖ½À´Ï´Ù:
If IsFunc(VarContainingFuncName)
¸¦ »ç¿ëÇϸé ÇÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ³»Àå ÇÔ¼ö¸¦ Á¦¿ÜÇÏ°í, È£ÃâµÈ ÇÔ¼öÀÇ Á¤ÀÇ´Â ¹Ýµå½Ã ¸í½ÃÀûÀ¸·Î ½ºÅ©¸³Æ®¿¡ Á¸ÀçÇØ¾ß ÇÕ´Ï´Ù. ºñ-µ¿ÀûÀ¸·Î ¶óÀ̺귯¸® ÇÔ¼ö¸¦ È£ÃâÇϰųª #Include¿Í °°Àº ¼ö´ÜÀ» »ç¿ëÇÕ´Ï´Ù.¸¶Áö¸·À¸·Î, ÇÔ¼ö¸¦ µ¿ÀûÀ¸·Î È£ÃâÇϸé Á¤»ó È£Ã⺸´Ù ¾à°£ ´õ ´À¸³´Ï´Ù. ¿Ö³ÄÇϸé Á¤»ó È£ÃâÀº ½ºÅ©¸³Æ®°¡ ½ÇÇàÀ» Çϱâ Àü¿¡ °áÁ¤(°Ë»ö ¿Ï·á)µÇ±â ¶§¹®ÀÔ´Ï´Ù.
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À» ¸¸³ª±â Àü¿¡ ¸ÕÀú ´Ý´Â °ýÈ£¿¡ µµ´ÞÇϸé, ±× ÇÔ¼ö´Â ³¡³ª°í ºó °ªÀ» È£ÃâÀÚ¿¡°Ô µ¹·ÁÁÝ´Ï´Ù (ºó ¹®ÀÚ¿). ºó °ªÀº ¶Ç ÇÔ¼ö°¡ ¸í½ÃÀûÀ¸·Î 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¸¦ »ç¿ëÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ±×·¯·Á¸é ÇÔ¼ö¿Í °°Àº À̸§ÀÇ ÆÄÀÏÀÌ ´ÙÀ½ ¶óÀ̺귯¸® µð·ºÅ丮 Áß Çϳª¿¡ Á¸ÀçÇØ¾ß ÇÕ´Ï´Ù:
%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¸¦ ÅëÇÏ¿© ½ºÅ©¸³Æ®¿¡ Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù.