#Warn [v1.0.95.00+]

ƯÁ¤ÇÑ Á¶°Ç¿¡ ´ëÇÑ °æ°í¸¦ ÄÑ°í ²ü´Ï´Ù. öÀÚ¿À·ù°¡ Àְųª ¼±¾ðÀÌ ¾ø´Â °æ¿ì¿Í °°ÀÌ ¿¡·¯¸¦ ³ªÅ¸³¾ ¼öµµ ÀÖ½À´Ï´Ù.

#Warn [, WarningType, WarningMode]

¸Å°³º¯¼ö

WarningType

ÄÑ°í ²ø °æ°íÀÇ Á¾·ù. »ý·«Çϸé, AllÀÌ ±âº»°ªÀÔ´Ï´Ù.

UseUnsetLocal ¶Ç´Â UseUnsetGlobal: º¯¼ö°¡ ÀÌÀü¿¡ °ªÀÌ ÇÒ´çµÇ¾î ÀÖÁö ¾Ê°Å³ª VarSetCapacity·Î ÃʱâÈ­µÇÁö ¾ÊÀº ä·Î ÀÐÇôÁö¸é °æ°í¸¦ º¸³À´Ï´Ù. º¯¼ö¸¦ ºñ¿ï ¸ñÀûÀ̶ó¸é, ºó ¹®ÀÚ¿­À» ÇÒ´çÇØ ÀÌ °æ°í¸¦ ´©¸£½Ê½Ã¿À.

Áö¿ª º¯¼ö¿Í Àü¿ª º¯¼ö¿¡ ´ëÇÏ¿© µû·Î °æ°í À¯ÇüÀÌ ³ª´²Áý´Ï´Ù. Àü¿ª º¯¼ö´Â ¿µ¼ÓÀûÀÌ°í ½ºÅ©¸³Æ®-Àüü¿¡ °ÉÃÄ ¿µÇâÀ» ¹ÌÄ¡´Â ¼ºÁúÀÌ ÀÖÀ¸¹Ç·Î ¹Ì¸® ÃʱâÈ­ÇÏÁö ¾Ê°í »ç¿ëÇÏ´Â °ÍÀÌ º¸´Ù ÀϹÝÀûÀ̱⠶§¹®ÀÔ´Ï´Ù. ÀÌ·± ÀÌÀ¯·Î, ¾î¶² ½ºÅ©¸³Æ® ÀúÀÚ´Â ÀÌ·± Á¾·ùÀÇ °æ°í¸¦ Áö¿ª º¯¼ö¿¡´Â ÄÑ°í Àü¿ª º¯¼ö¿¡´Â ²ô°í ½Í¾îÇÕ´Ï´Ù.

#Warn
;y := ""  ; ÀÌ·¸°Ô ÇÏ¸é °æ°í¸¦ ´©¸¨´Ï´Ù.
x := y    ; y¿¡´Â ¾ÆÁ÷ °ªÀÌ ÇÒ´çµÇÁö ¾Ê¾Ò½À´Ï´Ù.

UseEnv: ȯ°æ º¯¼ö°¡ ºó ½ºÅ©¸³Æ® º¯¼ö ´ë½Å¿¡ ÀÚµ¿À¸·Î »ç¿ëµÇ¸é °æ°í¸¦ º¸³À´Ï´Ù. ÀÌ·± ÀÏÀº Á¾Á¾ ȯ°æ º¯¼öÀÇ À̸§ÀÌ ¿¹»óÄ¡ ¸øÇÏ°Ô ½ºÅ©¸³Æ®°¡ »ç¿ëÇÏ´Â º¯¼ö¿¡ ÀÏÄ¡ÇÒ ¶§ ÀϾ´Ï´Ù. ÀÌ °æ°í´Â º¯¼ö¿¡ Á¢±ÙÇÒ ¶§ ÀϾ´Ï´Ù. ±×·¯³ª ½ºÅ©¸³Æ®¿¡ #NoEnv°¡ ÄÑÁ® ÀÖÀ¸¸é Àý´ë·Î ÀϾÁö ¾Ê½À´Ï´Ù (¿©·¯ °¡Áö ÀÌÀ¯·Î ±ÇÀåÇÔ).

#Warn
;#NoEnv             ; ÀÌ°ÍÀ» Ãß°¡ÇØ "temp"°¡ ȯ°æ º¯¼ö°¡ ¾Æ´Ï¶ó°í ¹àÈ÷½Ê½Ã¿À.
;EnvGet temp, TEMP  ; ÀÌ·¸°Ô Çϸé ȯ°æ º¯¼öÀÇ °ªÀ» ½ºÅ©¸³Æ® º¯¼ö ¾ÈÀ¸·Î º¹»çÇÒ °ÍÀÔ´Ï´Ù.
temp := ""          ; ÀÌ ÁÙÀ» »èÁ¦Çصµ, temp´Â ¿©ÀüÈ÷ °ªÀ» °¡Áö°í ÀÖ½À´Ï´Ù.
MsgBox % temp       ; ÀÌ°ÍÀº À̸§ÀÌ "TEMP"ÀΠȯ°æ º¯¼ö¿¡ Á¢±ÙÇÕ´Ï´Ù.

LocalSameAsGlobal: ½ºÅ©¸³Æ®°¡ ½ÇÇàÀ» ½ÃÀÛÇϱâ Àü¿¡, Àü¿ª º¯¼ö¿Í À̸§ÀÌ °°Àº ¼±¾ðµÇÁö ¾ÊÀº Áö¿ª º¯¼ö¿¡ ´ëÇÏ¿© °æ°í¸¦ º¸¿©ÁÝ´Ï´Ù. ÀÌ°ÍÀº ±ô¹ÚÀØ°í Àü¿ª º¯¼ö¸¦ ÇÔ¼ö ¾È¿¡ ¼±¾ðÇÑ ´ÙÀ½, °Å±â¿¡ Á¢±ÙÀ» ½ÃµµÇÏ¸é ¾ß±âµÇ´Â ¿¡·¯¸¦ ¹æÁöÇϱâ À§ÇÑ ¸ñÀûÀÔ´Ï´Ù. ±× º¯¼ö°¡ ½ÇÁ¦·Î Áö¿ª º¯¼öÀ̱⸦ ÀǵµÇß´Ù¸é, local x ¶Ç´Â static y¿Í °°ÀÌ ¼±¾ðÇÏ¿© °æ°í¸¦ ´©¸¦ ¼ö ÀÖ½À´Ï´Ù.

#Warn
g := 1
ShowG() {       ; ÇÔ¼ö¸¦ È£ÃâÇÏÁö ¾Ê¾Æµµ °æ°í°¡ ³ªÅ¸³³´Ï´Ù.
    ;global g   ; <-- Àü¿ª º¯¼ö¿¡ Á¢±ÙÇϱâ À§ÇØ ÇÊ¿äÇÕ´Ï´Ù.
    MsgBox % g  ; ¼±¾ðÇÒ ÇÊ¿ä¾øÀÌ, "g"´Â ºó Áö¿ª º¯¼öÀÔ´Ï´Ù.
}

All: ÁÖ¾îÁø WarningMode¸¦ Áö¿øµÇ´Â ¸ðµç °æ°í À¯Çü¿¡ Àû¿ëÇÕ´Ï´Ù.

WarningMode

¾î¶»°Ô °æ°í¸¦ º¸³¾Áö °¡¸®Å°´Â °ª. »ý·«µÇ¸é, ±âº»°ªÀº MsgBoxÀÔ´Ï´Ù.

MsgBox: °æ°í¸¦ ±â¼úÇÏ´Â ¸Þ½ÃÁö ¹Ú½º¸¦ º¸¿©ÁÝ´Ï´Ù. ¸Þ½ÃÁö ¹Ú½º¸¦ ¹¬»ìÇϸé, ½ºÅ©¸³Æ®´Â º¸Åëó·³ ½ÇÇàÀ» °è¼ÓÇÕ´Ï´Ù.

StdOut [v1.1.04+]: °æ°í¸¦ ±â¼úÇÏ´Â ¸»À» Ç¥ÁØÃâ·Â(stdout)À¸·Î º¸³À´Ï´Ù (ÇÁ·Î±×·¥ÀÇ Ç¥ÁØ Ãâ·Â ½ºÆ®¸²). ÆÄÀÏ À̸§°ú ÁÙ ¹øÈ£¸¦ ÇÔ²² º¸³À´Ï´Ù. ÀÌ ´öºÐ¿¡ SciTE°°Àº ȯ»óÀûÀÎ ÆíÁý±âµéÀº ½ºÅ©¸³Æ®¸¦ ¹æÇØÇÏÁö ¾Ê°í °æ°í¸¦ ³ªÆ÷ÇÒ ¼ö ÀÖ½À´Ï´Ù - »ç¿ëÀÚ´Â ³ªÁß¿¡ ÆíÁý±âÀÇ Ãâ·Â ÆÇÀ» ÅëÇÏ¿© ¹®Á¦ÀÇ ÁÙ¿¡ Á¡ÇÁÇØ °¥ ¼ö ÀÖ½À´Ï´Ù.

OutputDebug: È­¸é¿¡ º¸¿©ÁÖ±â À§ÇØ °æ°í ¹®±¸¸¦ µð¹ö°Å¿¡°Ô º¸³À´Ï´Ù. µð¹ö°Å°¡ ÄÑÁ® ÀÖÁö ¾ÊÀ¸¸é, ¾Æ¹« È¿°ú°¡ ¾ø½À´Ï´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â OutputDebug¸¦ ÂüÁ¶ÇϽʽÿÀ.

Off: ÁÖ¾îÁø WarningTypeÀÇ °æ°í¸¦ ²ü´Ï´Ù.

³íÆò

±âº»°ªÀ¸·Î, ¸ðµç °æ°í´Â ²¨Á® ÀÖ½À´Ï´Ù.

°æ°í´Â ½ÇÇà½Ã°£¿¡´Â ÄÑ°í ²ø ¼ö ¾ø½À´Ï´Ù; ¼³Á¤Àº ½ºÅ©¸³Æ®°¡ ÀûÀçµÉ ¶§ °áÁ¤µË´Ï´Ù. ±×·¯¹Ç·Î, ½ºÅ©¸³Æ®¿¡¼­ À§Ä¡´Â Àǹ̰¡ ¾ø½À´Ï´Ù (±×¸®°í, ´Ù¸¥ # Áö½Ã¾îó·³, #WarnÀº Á¶°ÇÀûÀ¸·Î ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù).

±×·¸Áö¸¸, ¿©·¯ #Warn Áö½Ã¾îÀÇ ¼ø¼­´Â Àǹ̰¡ ÀÖ½À´Ï´Ù: ¸¶Áö¸·À¸·Î ³ªÅ¸³ª ÁÖ¾îÁø °æ°í¸¦ ¼³Á¤ÇÑ Áö½Ã¾î°¡ ±× °æ°í¿¡ ´ëÇÑ ¸ðµå¸¦ °áÁ¤ÇÕ´Ï´Ù. ±×·¡¼­, ¿¹¸¦ µé¾î, UseEnv¸¦ Á¦¿ÜÇÏ°í ¾Æ·¡ÀÇ µÎ ¼­¼ú¹®Àº Á¶ÇÕÇÏ¿© ¸ðµç °æ°í¸¦ ÄÒ È¿°ú°¡ ÀÖ½À´Ï´Ù:

#Warn All
#Warn UseEnv, Off

EnvSet EnvVar, 1
x := EnvVar       ; #NoEnv°¡ »ç¿ëµÇÁö ¾Ê¾ÒÀ¸¹Ç·Î ¹®Á¦°¡ ¾ø½À´Ï´Ù.
x := NotAnEnvVar  ; °æ°í.

°ü·Ã Ç׸ñ

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

¿¹Á¦

#Warn All, Off                    ; ¸ðµç °æ°í¸¦ ²ü´Ï´Ù. ÀÌ°ÍÀÌ ±âº» »óÅÂÀÔ´Ï´Ù.
#Warn                             ; ¸ðµç Á¾·ùÀÇ °æ°í¸¦ ÄÕ´Ï´Ù; °¢ °æ°í¸¦ ¸Þ½ÃÁö »óÀÚ¿¡ º¸¿©ÁÝ´Ï´Ù.
#Warn UseUnsetLocal, OutputDebug  ; Áö¿ª º¯¼ö¸¦ ¼³Á¤Çϱâ Àü¿¡ »ç¿ëµÇ¸é °æ°íÇÕ´Ï´Ù; OutputDebug·Î °æ°í¸¦ º¸³À´Ï´Ù.