¹è¿­

¿¬°ü ¹è¿­ [AHK_L 31+]

Object()¸¦ È£ÃâÇϸé ÀÚ±â ÃæÁ·Àû ¿¬°ü ¹è¿­À» »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î:

; ¹è¿­À» »ý¼ºÇÕ´Ï´Ù. ÃÖÃÊ´Â ºñ¾î ÀÖ½À´Ï´Ù:
Array := Object()

; ¹è¿­¿¡ ¾¹´Ï´Ù:
Loop, Read, C:\Guest List.txt ; ÀÌ È¸µ¹ÀÌ´Â ÆÄÀϷκÎÅÍ °¢ ÁÙÀ» ÇÑ ¹ø¿¡ Çϳª¾¿ ¿­¶÷ÇÕ´Ï´Ù.
{
    Array.Insert(A_LoopReadLine) ; ÀÌ ÁÙÀ» ¹è¿­¿¡ Ãß°¡ÇÕ´Ï´Ù.
}

; ¹è¿­·ÎºÎÅÍ ÀнÀ´Ï´Ù:
; Loop % Array.MaxIndex()   ; Á» ÀüÅëÀûÀÎ Á¢±Ù¹ý.
for index, element in Array ; ´ëºÎºÐÀÇ °æ¿ì ±ÇÀåÇÏ´Â Á¢±Ù¹ý.
{
    ; "Loop"¸¦ »ç¿ëÇϸé, À妽º´Â 1 ºÎÅÍ ¹è¿­ÀÇ ¿ø¼ÒÀÇ °³¼ö±îÁö.
    ; ¿¬¼ÓÀûÀÎ ¼ýÀÚ°¡ µÇ¾î¾ß ÇÕ´Ï´Ù (¶Ç´Â ȸµ¹ÀÌ ¾È¿¡¼­ °è»êµÇ¾î¾ß ÇÕ´Ï´Ù).
    ; MsgBox % "Element number " . A_Index . " is " . Array[A_Index]
    
    ; "for"¸¦ »ç¿ëÇϸé, À妽º (¶Ç´Â "Å°")¿Í ±×¿¡ ¿¬°üµÈ °ªÀÌ Á¦°øµË´Ï´Ù
    ; ±×¸®°í À妽º´Â ¼±Åÿ¡ µû¶ó *¾î¶² °ªÀ̵ç* µÉ ¼ö ÀÖ½À´Ï´Ù.
    MsgBox % "Element number " . index . " is " . element
}

ÀÌ Á¤µµ´Â °´Ã¼°¡ Á¦°øÇÏ´Â ±â´ÉÀÇ ÀϺθ¸ º¸¿©ÁÙ »ÓÀÔ´Ï´Ù . Ç׸ñÀ» ¼³Á¤, ¿­¶÷, »ðÀÔ, Á¦°Å ±×¸®°í ¿­°ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹®ÀÚ¿­°ú °´Ã¼´Â ¼ýÀÚ¿Í ´õºÒ¾î Å°·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. °´Ã¼´Â °ªÀ¸·Î ´Ù¸¥ °´Ã¼¿¡ ÀúÀåÇÏ°í ÇÔ¼öÀÇ ¸Å°³º¯¼ö ¶Ç´Â ¹Ýȯ °ªÀ¸·Î °Ç³Ú ¼ö ÀÖ½À´Ï´Ù. °´Ã¼´Â ¶Ç »õ·Î¿î ±â´ÉÀ¸·Î È®ÀåÇÒ ¼ö ÀÖ½À´Ï´Ù.

Insert()¿Í ¿­°ÅÀÚ´Â °¢ÀÚ ÀÚ½ÅÀÇ »ç¿ë¹ýÀÌ ÀÖÁö¸¸, ¾î¶² »ç¿ëÀÚ´Â ÀüÅëÀûÀÎ Á¢±Ù¹ýÀ» ´õ ½±°Ô »ý°¢ÇÕ´Ï´Ù:

  ; °¢ ¹è¿­Àº »ç¿ëÇϱâ Àü¿¡ ÃʱâÈ­ÇØ¾ß ÇÕ´Ï´Ù:
  Array := Object()

; Array%j% := A_LoopField
  Array[j] := A_LoopField

; Array%j%_%k% := A_LoopReadLine
  Array[j, k] := A_LoopReadLine

  ArrayCount := 0                        
  Loop, Read, C:\Guest List.txt
  {
      ArrayCount += 1
    ; Array%ArrayCount% := A_LoopReadLine
      Array[ArrayCount] := A_LoopReadLine
  }

  Loop %ArrayCount%
  {
    ; element := Array%A_Index%
      element := Array[A_Index]
    ; MsgBox % "Element number " . A_Index . " is " . Array%A_Index%
      MsgBox % "Element number " . A_Index . " is " . Array[A_Index]
  }

ArrayCount´Â ÆíÀǸ¦ À§ÇØ º¯¼ö·Î ³²°Ü µÎ¾úÁö¸¸, ¹è¿­ ÀÚü¿¡ Array.Count := n·Î ÀúÀåÇϰųª ¾Æ´Ï¸é Á¦°ÅÇÏ°í ±× ÀÚ¸®¿¡ Array._MaxIndex()¸¦ »ç¿ëÇصµ µË´Ï´Ù. ½ÃÀÛ À§Ä¡¸¦ 1 ¸»°í ´Ù¸¥ °ÍÀ¸·Î ÇÏ°í ½Í´Ù¸é, Array._MinIndex()¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÇ»ç-¹è¿­

ÀÇ»ç ¹è¿­Àº ´ë´ÜÈ÷ °³³äÀûÀÔ´Ï´Ù: °¢ ¹è¿­Àº ½ÇÁ¦·Î ±×Àú ¿¬¼ÓÀûÀ¸·Î ¹øÈ£°¡ ºÙÀº, ±×¸®°í °¢°¢ ¹è¿­ÀÇ ¿ø¼Ò·Î ÀÎÁöµÇ´Â º¯¼ö³ª ÇÔ¼ö Áý´Ü¿¡ ºÒ°úÇÕ´Ï´Ù. ¿ÀÅäÇÖÅ°´Â ÀÌ ¿ø¼ÒµéÀ» ¾î¶² ½ÄÀ¸·Îµç Çϳª·Î ¿¬°áÇÏÁö ¾Ê½À´Ï´Ù.

StringSplit°ú "WinGet List"°°Àº ¹è¿­-»ý¼º ¸í·É¾î ¸»°íµµ, OutputVar¸¦ ¹Þ´Â ¸í·É¾î³ª °ªÀ» º¯¼ö¿¡ ÇÒ´çÇÏ´Â ¸í·É¾î¶ó¸é ¹«¾ùÀÌµç ¹è¿­À» »ý¼ºÇϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. °¡Àå °£´ÜÇÑ ¿¹´Â ¾Æ·¡¿¡ º¸¿©ÁÖ´Â ¹Ù¿Í °°ÀÌ ÇÒ´ç ¿¬»êÀÚ (:=)ÀÔ´Ï´Ù:

Array%j% := A_LoopField

´ÙÂ÷¿ø ¹è¿­Àº ¼±ÅÃÇÑ °¡¸§ ¹®ÀÚ¸¦ À妽º »çÀÌ¿¡ »ç¿ëÇÏ¸é °¡´ÉÇÕ´Ï´Ù. ¿¹¸¦ µé¾î:

Array%j%_%k% := A_LoopReadLine

´ÙÀ½ ¿¹Á¦´Â ¹è¿­À» ¸¸µé°í Á¢±ÙÇÏ´Â ¹ýÀ» º¸¿©ÁÝ´Ï´Ù. ÀÌ °æ¿ì ¹è¿­Àº ÅؽºÆ®·ÎºÎÅÍ ¿­¶÷ÇÑ ÀÏ·ÃÀÇ À̸§ÀÔ´Ï´Ù:

; ¹è¿­¿¡ ¾²±â:
ArrayCount = 0
Loop, Read, C:\Guest List.txt   ; ÀÌ È¸µ¹ÀÌ´Â ÆÄÀϷκÎÅÍ ÇÑ ¹ø¿¡ Çϳª¾¿ °¢ ÁÙÀ» ¿­¶÷ÇÕ´Ï´Ù.
{
    ArrayCount += 1  ; ¹è¿­¿¡ ¾ó¸¶³ª ¸¹Àº Ç׸ñÀÌ ÀÖ´Â ÃßÀû °ü¸®ÇÕ´Ï´Ù.
    Array%ArrayCount% := A_LoopReadLine  ; ÀÌ ÁÙÀ» ´ÙÀ½ ¹è¿­ ¿ø¼Ò¿¡ ÀúÀåÇÕ´Ï´Ù.
}

; ¹è¿­·ÎºÎÅÍ ÀнÀ´Ï´Ù:
Loop %ArrayCount%
{
    ; ´ÙÀ½ ÁÙÀº := ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© ¹è¿­ ¿ø¼Ò¸¦ ¿­¶÷ÇÕ´Ï´Ù:
    element := Array%A_Index%  ; A_Index´Â ³»Àå º¯¼öÀÔ´Ï´Ù.
    ; ´Ù¸¥ ¹æ¹ýÀ¸·Î, "% " Á¢µÎ»ç¸¦ »ç¿ëÇÏ¿© MsgBox³ª ±âŸ ´Ù¸¥ ¸í·É¾î¸¦ Ç¥Çö½ÄÀ¸·Î ¸¸µì´Ï´Ù:
    MsgBox % "Element number " . A_Index . " is " . Array%A_Index%
}

¹è¿­¿¡ °ü·ÃµÈ °³³äÀº NumPut()°ú NumGet()À» »ç¿ëÇØ ÀÌÁø ÇüÅÂÀÇ ¼ýÀÚ Áý´ÜÀ» ÀúÀåÇÏ°í ¿­¶÷ÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ°ÍÀº ¼öÇ༺´É°ú ¸Þ¸ð¸® º¸ÀüÀÌ Áß¿äÇÑ °æ¿ì¿¡ µµ¿òÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù.