¿ì¸®´Â ¹«¾ùÀ» ´Ù·ê °ÍÀΰ¡? |
---|
|
ÇÁ·Î±×·¡¹ÖÀÇ ³×¹ø° ¿ä¼Ò´Â ¸ðµâ ÇÁ·Î±×·¡¹Ö modular programmingÀÌ´Ù. »ç½Ç ±×°ÍÀº ¾ö¹ÐÈ÷ ¸»ÇØ ÇʼöÀûÀÎ °ÍÀº ¾Æ´Ï´Ù, ±×¸®°í ¿ì¸®°¡ Áö±Ý±îÁö ´Ù·ç¾î¿Â °ÍÀ» »ç¿ëÇÏ¿© ¿©·¯ºÐÀº ½ÇÁ¦·Î ´ë´ÜÈ÷ ÀλóÀûÀÎ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. ±×·¸Áö¸¸ ÇÁ·Î±×·¥ÀÌ Ä¿Áü¿¡ µû¶ó ¹«¾ùÀÌ ¾îµð¿¡¼ ÀϾ´ÂÁö ÃßÀûÇϱⰡ Á¡Á¡ ¾î·Á¿öÁø´Ù. ¿ì¸®´Â ½ÇÁ¦·Î ¼¼ºÎÀûÀÎ »çÇ×µéÀ» »ý·«ÇÏ¿©¼ ÄÄÇ»ÅÍ°¡ ¾î¶»°Ô ÀÛµ¿Çϴ°¡ º¸´Ù´Â ¿ì¸®°¡ Ç®°íÀÖ´Â ¹®Á¦¿¡ ´ëÇÏ¿© »ý°¢ÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ¹æ¹ýÀÌ ÇÊ¿äÇÏ´Ù. ¾î´À Á¤µµ±îÁö´Â ±×°ÍÀº ÆÄÀ̽ã, º£ÀÌÁ÷ µîµîÀÌ ÀÌ¹Ì ³»ÀåµÈ ´É·ÂÀ¸·Î ¿ì¸®¸¦ À§ÇÏ¿© ÇØÁÖ´Â °ÍÀÌ´Ù - ±×°Íµé ¶§¹®¿¡ ¿ì¸®´Â ÄÄÇ»ÅÍ Çϵå¿þ¾î¸¦, Å°º¸µå À§ÀÇ °³º°ÀûÀÎ Å°µéÀ» Àд ¹ý µîµîÀ» ´Ù·ê ¼ö°¡ ¾ø´Ù.
¸ðµâ ÇÁ·Î±×·¡¹ÖÀÇ ¿ªÇÒÀº ÇÁ·Î±×·¡¸Ó¿¡°Ô ±× ¾ð¾îÀÇ ³»Àå ´É·ÂÀ» È®ÀåÇÒ ¼ö ÀÖµµ·Ï ÇØÁÖ´Â °ÍÀÌ´Ù. ±×°ÍÀº ÇÁ·Î±×·¥ÀÇ Á¶°¢µéÀ» ¸ðµâ·Î Æ÷ÀåÇؼ ¿ì¸®°¡ ¿ì¸®ÀÇ ÇÁ·Î±×·¥¿¡ '²È¾Æ ³ÖÀ»' ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ¸ðµâÀÇ Ã¹ ¹ø° ÇüÅ´ ÇϺηçƾsubroutineÀ̾ú´Âµ¥ ±×°ÍÀº ÇÑ ºí·ÏÀÇ ÄÚµå·Î¼ ¿©·¯ºÐÀº ±×°÷À¸·Î Á¡ÇÁÇÒ ¼ö ÀÖ°í (¾à°£Àº ºÐ±â ¼½¼Ç¿¡¼ ¾ð±ÞÇÑ GOTO¿Í ºñ½ÁÇÏÁö¸¸) ±×·¯³ª Äڵ尡 ³¡³ª°í ³ª¸é, ºÒ·ÁÁ³´ø °÷À¸·Î ´Ù½Ã Á¡ÇÁÇÒ ¼ö ÀÖ´Ù. ±×·¯ÇÑ Æ¯ÀÌÇÑ ½ºÅ¸ÀÏÀÇ ¹¦µâ¼ºÀº ÇÁ·Î½ÃÁ® procedure ȤÀº ÇÔ¼ö function¶ó°í ¾Ë·ÁÁ® ÀÖ´Ù. ÆÄÀ̽ã°ú ±×¸®°í ´Ù¸¥ ¾î¶² ¾ð¾î¿¡¼´Â ¸ðµâ moduleÀ̶ó´Â ´Ü¾î´Â Ưº°ÇÑ Àǹ̸¦ °¡Á®¼ ¿ì¸®´Â ª°Ô ±×°ÍÀ» »ìÆ캼°ÍÀÌ´Ù, ±×·¯³ª ÇÔ¼ö¸¦ ¾à°£ ´õ ÀÚ¼¼ÇÏ°Ô ¼÷°íÇØ º¸ÀÚ.
ÇÔ¼ö¸¦ ÀÛ¼ºÇÏ´Â ¹ýÀ» »ý°¢ÇØ º¸±â Àü¿¡ ¾î¶² ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼µµ ÀÖ´Â (¶§¶§·Î ¶óÀ̺귯¸® library¶ó°í ºÒ¸®¿ì´Â) ±× ¸¹°í, ¸¹Àº ÇÔ¼öµéÀ» ¾î¶»°Ô »ç¿ëÇÏ´ÂÁö »ìÆ캸ÀÚ.
¿ì¸®´Â ÀÌ¹Ì ¾î¶² ÇÔ¼öµéÀÌ »ç¿ëµÈ °ÍÀ» º¸¾Ò°í ¿¬»êÀÚÀÇ ¼½¼Ç¿¡¼ ´Ù¸¥ ÇÔ¼öµéÀ» ³ª¿ÇÏ¿´´Ù. ÀÌÁ¦ ¿ì¸®´Â À̰͵éÀÌ ¹«¾ùÀ» °øÅëÀ¸·Î °¡Áö°í ÀÖ´ÂÁö ±×¸®°í ¿ì¸®ÀÇ ÇÁ·Î±×·¥¿¡¼ ¾î¶»°Ô ±×°ÍµéÀ» »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö »ìÆì º¼ °ÍÀÌ´Ù.
ÇÔ¼öÀÇ ±âº»Àû ±¸Á¶´Â ´ÙÀ½°ú °°´Ù:
aValue = someFunction(anArgument, another, etc...)
ÀÌ°ÍÀº ÇÔ¼ö¸¦ È£ÃâÇÔÀ¸·Î½á ȹµæµÇ´Â °ªÀ» ÃëÇÏ´Â º¯¼öÀÌ´Ù. ±× ÇÔ¼ö´Â 0 ¶Ç´Â ¸¹Àº ÀμöargumentsµéÀ» ¹Þ¾ÆµéÀÏ ¼ö ÀÖ´Ù. ±× ÇÔ¼ö´Â ±×°ÍµéÀ» ³»ºÎ º¯¼ö¿Í °°ÀÌ Ãë±ÞÇÑ´Ù. ÇÔ¼ö´Â ´Ù¸¥ ÇÔ¼ö¸¦ ³»ºÎÀûÀ¸·Î È£ÃâÇÒ ¼ö ÀÖ´Ù. ¿ì¸®ÀÇ ¿©·¯ ¾ð¾î¿¡¼ ¾à°£ÀÇ ¿¹Á¦¸¦ »ìÆ캸°í ÀÌ°ÍÀÌ ¾î¶»°Ô ÀÛµ¿ÇÏ´ÂÁö ¾Ë¾Æº¸ÀÚ:
ÀÌ°ÍÀº ¹®ÀÚ¿ str$¿¡¼ n¹ø°¿¡¼ ½ÃÀÛÇÏ¿© ´ÙÀ½ÀÇ m°³ÀÇ ¹®ÀÚ¸¦ Ãâ·ÂÇÑ´Ù. ( '$'·Î ³¡³ª´Â À̸§Àº º£ÀÌÁ÷¿¡¼ ¹®ÀÚ¿À» ³ªÅ¸³»´Â °ÍÀ̶ó´Â °ÍÀ» »ó±âÇ϶ó)
time$ = "MORNING EVENING AFTERNOON" PRINT "Good";MID$(time$,8,8)
"Good EVENING"À̶ó°í Ãâ·ÂÇÑ´Ù.
ÀÌ°ÍÀº ÁöÁ¤ÇÑ È¯°æº¯¼ö(Environment Variable)ÀÎ str$¸¦ ¹ÝȯÇÑ´Ù.
PRINT ENVIRON$("PATH")
ÇöÀç µµ½º¿¡ (º¸Åë autoexec.bat ÆÄÀÏÀ» ÅëÇÏ¿©) ¼³Á¤µÈ PATH(°æ·Î) ¸¦ Ãâ·ÂÇÑ´Ù.
¸®½ºÆ® LÀÇ ±æÀ̸¦ ¹ÝȯÇÑ´Ù.
set a {"first" "Second" "third"} # 3 element list puts [llength $a] # output is '3'
ÁÖ ÀÇ: ƼŬ¿¡¼ °ÅÀÇ ¸ðµç °ÍÀº ÇÔ¼öÀÌ´Ù. (ȤÀº ƼŬÀº ±×°ÍÀ» ¸í·É¾î¶ó°í À̸§Áþ±â¸¦ ¼±È£ÇÏ°ÚÁö¸¸). À̰Ͷ§¹®¿¡ ¾à°£ ¾î»öÇÑ ±¸¹®ÀÌ µÇÁö¸¸ ÄÄÇ»ÅÍ°¡ ƼŬ ÇÁ·Î±×·¥À» ¸Å¿ì ½±°Ô Àеµ·Ï ÇÏ¿© ÁØ´Ù. ÀÌ°ÍÀº Áß¿äÇѵ¥ ¿Ö³ÄÇϸé ƼŬÀº µµ±¸Á¦¾î¾ð¾î(Tool Control Language)ÀÇ ¾àÀÚÀÌ¸ç ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®»ç Á¦Ç°ÀÎ VBA(Visual Basic for Applications)¿Í °°ÀÌ ´Ù¸¥ ÇÁ·Î±×·¥¿¡ ¸ÅÅ©·Îmacro language ¾ð¾î·Î ³»ÀåµÇµµ·Ï µðÀÚÀεǾú±â ¶§¹®ÀÌ´Ù. ¿©·¯ºÐÀº ½ÇÁ¦·Î °°Àº ¹æ½ÄÀ¸·Î ÆÄÀ̽ãÀ» ³»Àå½Ãų¼ö ÀÖÁö¸¸ ƼŬÀº ³»ÀåÀ» ¿°µÎ¿¡µÇ°í óÀ½ºÎÅÍ ±×¸®°í ´ëºÎºÐÀÌ µðÀÚÀεǾú´Ù´Â Á¡¿¡¼ Ưº°ÇÏ´Ù.
x = 2 # we'll use 2 as our base number for y in range(0,11): print pow(x,y) # raise 2 to power y, ie 0-10
¿©±â¿¡ ¿ì¸®´Â y ÀÇ °ªÀ» 0 ºÎÅÖ 10 ±îÁö »ý¼ºÇÏ°í ³»Àå pow()ÇÔ¼ö¸¦ È£ÃâÇÏ¿© 2°³ÀÇ Àμö x¿Í y¸¦ ³Ñ°ÜÁØ´Ù. È£ÃâÇÒ ¶§ ¸¶´Ù x¿Í yÀÇ ÇöÀç°ªÀº ´ëÄ¡µÇ¾îÁ® È£ÃâµÇ¾îÁö¸ç ±× °á°ú´Â Ãâ·ÂµÈ´Ù.
ÁÖ ÀÇ: Áö¼öÈ ¿¬»êÀÚ, **´Â pow() ÇÔ¼ö¿Í µ¿ÀÏÇÏ´Ù.
ÆÄÀ̽㿡 ³»ÀåµÈ ¶Ç ´Ù¸¥ À¯¿ëÇÑ ÇÔ¼ö´Â dir Àε¥ ±×°ÍÀº, ¸ðµâÀÇ À̸§ÀÌ ³Ñ°ÜÁö¸é, ±× ¸ðµâ¿¡¼ À¯È¿ÇÑ À̸§µéÀÇ ¸ñ·ÏÀ» - ¶§·Î´Â ÇÔ¼ö - µÇµ¹·Á ÁØ´Ù. ³»Àå ÇÔ¼öµé¿¡ ´ëÇÏ¿© ±×°ÍÀ» ½ÃÇèÇØ º¸¶ó:
print dir(__builtin__)
ÁÖ ÀÇ: ´Ù¸¥ ¾î¶°ÇÑ ¸ðµâ¿¡µµ ±×°ÍÀ» »ç¿ëÇÒ ¼ö ÀÖÀ¸·Á¸é ¿©·¯ºÐÀº ±× ¸ðµâÀ» ¸ÕÀú ¼öÀÔÇÒ ÇÊ¿ä°¡ ÀÖÀ¸¸ç ±×·¸Áö ¾ÊÀ¸¸é ÆÄÀ̽ãÀº ±× À̸§À» ÀνÄÇÒ ¼ö ¾ø´Ù°í ºÒÆòÇÒ °ÍÀÌ´Ù.
´Ù¸¥ °ÍÀ» ´õ Çغ¸±â Àü¿¡ ¿ì¸®´Â ÆÄÀ̽ãÀÇ ¸ðµâ¿¡ °üÇÏ¿© Á» ´õ »ó¼¼ÇÏ°Ô ³íÀÇÇØ º¸´Â °ÍÀÌ ÁÁ´Ù.
¿©·¯ºÐÀÌ ¸ðµâÀ» ¼öÀÔimportÇÔÀ¸·Î¼ »õ·Î¿î ´É·ÂÀ» Ãß°¡ÇÒ ¼ö ÀÖ´Ù´Â Á¡¿¡¼ ÆÄÀ̽ãÀº ´ë´ÜÈ÷ È®ÀåÀûÀÎ ¾ð¾îÀÌ´Ù(ƼŬµµ ¸¶Âù°¡ÁöÀÌ´Ù) ¿ì¸®´Â ¸ðµâÀÛ¼º¹ýÀ» °£´ÜÇÏ°Ô ¾Ë¾Æ º¼°ÍÀÌ´Ù. ±×·¯³ª Áö±ÝÀ¸·Î½á´Â ÆÄÀ̽㿡 ±âº»À¸·Î ¼³Ä¡µÇ¾î Àִ ǥÁØ ¸ðµâÁß ¸î°³¸¦ ´Ù·ç¾î º¼ °ÍÀÌ´Ù.
¿ì¸®´Â ÀÌ¹Ì sys ¸ðµâÀ» º» ¹Ù ÀÖ´Ù. ¿ì¸®´Â ±×°ÍÀ» ÆÄÀ̽ãÀ» Á¾·áÇÒ ¶§ »ç¿ëÇÏ¿´´Ù. ±×°ÍÀº ¸¹Àº ´Ù¸¥ À¯¿ëÇÑ ÇÔ¼öµé ¿ª½Ã °¡Áö°í ÀÖ´Ù. ÀÌ·¯ÇÑ °Íµé¿¡ Á¢±ÙÇϱâ À§ÇÏ¿© ¿ì¸®´Â sys ¸ðµâÀ» ¼öÀÔÇØ¾ß ÇÑ´Ù:
import sys # make functions available sys.exit() # prefix with 'sys'¿ì¸®°¡ ÇÔ¼öµéÀ» ¸¹ÀÌ »ç¿ëÇÒ °ÍÀ» ¾Ë°í ÀÖÀ¸¸ç ±× ÇÔ¼öµéÀÌ ¿ì¸®°¡ ÀÌ¹Ì ¼öÀÔÇ߰ųª ȤÀº »ý¼ºÇÑ ÇÔ¼ö¿Í °°Àº À̸§À» °¡ÁöÁö ¾Ê¾Æ¾ß ÇÑ´Ù´Â °ÍÀ» ¾Ë°í ÀÖ´Ù¸é ¿ì¸®´Â ´ÙÀ½°ú °°ÀÌ ÇÒ ¼ö ÀÖ´Ù:
from sys import * # import all names in sys exit() # can now use without specifying prefix 'sys'
¿©·¯ºÐÀº ¾î¶°ÇÑ ÆÄÀ̽㠸ðµâµµ ÀÌ·±½ÄÀ¸·Î ¼öÀÔÇÏ°í »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×¸®°í ±×°Í¿¡´Â ¿©·¯ºÐ ÀÚ½ÅÀÌ ÀÛ¼ºÇÑ ¸ðµâµµ ÇØ´çµÈ´Ù. ¿ì¸®µéÀº Àá½ÃÈÄ¿¡ ±×·¸°Ô ÇÏ´Â ¹ýÀ» ¾Ë¾Æ º¼ °ÍÀÌ´Ù. ±×·¸Áö¸¸ ¸ÕÀú, ³ª´Â ¿©·¯ºÐ¿¡°Ô ÆÄÀ̽ãÀÇ Ç¥ÁØ ¸ðµâ°ú ±×°ÍµéÀÌ ¹«¾ùÀ» Á¦°øÇÏ´ÂÁö¿¡ °üÇÏ¿© ¾à°£ º¸¿©ÁÖ°íÀÚ ÇÑ´Ù:
¸ðµâ À̸§ | ¼³ ¸í |
---|---|
sys | ÆÄÀ̽㠽ýºÅÛ°ú ´ëȸ¦ °¡´ÉÇÏ°Ô ÇÑ´Ù:
|
os | ¿î¿µÃ¼Á¦¿Í ´ëȸ¦ °¡´ÉÇÏ°Ô ÇÑ´Ù:
|
string | ¹®ÀÚ¿À» ó¸®ÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù
|
re | ¹®ÀÚ¿À» À¯´Ð½º ½ºÅ¸ÀÏ·Î ´Ù·çµµ·Ï ÇØ ÁØ´Ù Á¤±Ô Ç¥Çö½Ä regular expressions |
math | ¸¹Àº ¼öÇÐÀû ÇÔ¼ö¿¡ Á¢±ÙÇϵµ·Ï ÇØÁØ´Ù:
|
time | ½Ã°£(±×¸®°í ³¯Â¥) ÇÔ¼ö
|
ÀÌ°ÍÀº ´ÜÁö ºù»êÀÇ ÀÏ°¢ÀÏ »ÓÀÌ´Ù. ¹®ÀÚ±×´ë·Î ÆÄÀ̽㿡´Â ¼ö½Ê°¡ÁöÀÇ ¸ðµâÀÌ Á¦°øµÇ°í ÀÖÀ¸¸ç ¶Ç ¸¹Àº ¸ðµâµéÀ» ¿©·¯ºÐÀº ³»·Á ¹ÞÀ» ¼ö ÀÖ´Ù. (ÈǸ¢ÇÑ ÀÚ¿øÀº Vaults of ParnassusÀÌ´Ù.) ±×°÷¿¡ ÀÖ´Â ¹®¼µéÀ» »ìÆ캸°í ÀÎÅͳÝ, ±×·¡ÇÈ, µ¥ÀÌŸº£À̽º ±¸Ãà µîµîÀÇ ÇÁ·Î±×·¡¹ÖÀ» Çϴ¹ýÀ» ã¾Æº¸¶ó.
²À ¾Ë¾Æ¾ßÇÒ Áß¿äÇÑ °ÍÀº ´ëºÎºÐÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ ÀÌ·¯ÇÑ ±âº»ÀûÀÎ ÇÔ¼öµéÀ» ³»ÀåÇϰųª ȤÀº Ç¥ÁØÀûÀÎ ¶óÀ̺귯¸®·Î °¡Áö°í ÀÖ´Ù´Â °ÍÀÌ´Ù. ÇÔ¼ö¸¦ ÀÛ¼ºÇϱâ Àü¿¡ Ç×»ó ¹®¼¸¦ Á¡°ËÇ϶ó - ÀÌ¹Ì °Å±â¿¡ ÀÖÀ»Áöµµ ¸ð¸¥´Ù! ±×°ÍÀ¸·Î ¿ì¸®´Â ±âºÐÁÁ°Ô ¾ÈÀ¸·Î µé¾î°£´Ù....
ÁÁ´Ù, ±×·¡¼ ¿ì¸®°¡ Á¸ÀçÇÏ´Â ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â ¹ýÀ» ¾È´Ù¸é ¿ì¸®´Â ¾î¶»°Ô »õ·Î¿î ÇÔ¼ö¸¦ ¸¸µé¼ö Àִ°¡? °£´ÜÇÏ°Ô ±×°ÍÀ» ¼±¾ðÇÔdeclaringÀ¸·Î½á ¸¸µé ¼ö ÀÖ´Ù. ´Ù½Ã¸»ÇÏ¸é ¿ì¸®°¡ ÀÛ¼ºÇÑ ¼¼ú¹®Àº ¿ì¸®°¡ ÇÑ ºí·ÏÀÇ Äڵ带 Á¤ÀÇÇϱ⸦ ¿ì¸®ÀÇ ÇÁ·Î±×·¥ÀÇ ¾îµð¿¡¼³ª ¿ä±¸ÇÏ¸é »ðÀԵǾî¾ß ÇÑ´Ù°í ÀÎÅÍÇÁ¸®ÅÍ¿¡°Ô ¸»ÇØÁÖ´Â °ÍÀÌ´Ù.
±×·¡¼ ¿ì¸®°¡ Àμö·Î¼ Á¦°øÇÑ ¾î¶°ÇÑ °ªÀ¸·Îµµ ¿ì¸®¸¦ À§ÇÏ¿© °ö¼ÀÇ¥¸¦ Ãâ·ÂÇÏ¿© ÁÙ ¼ö ÀÖ´Â ÇÔ¼ö¸¦ ÀÛ¼ºÇÏ¿© º¸ÀÚ. º£ÀÌÁ÷¿¡¼ ±×°ÍÀº ´ÙÀ½°ú °°ÀÌ º¸ÀδÙ:
SUB TIMES (N%) FOR I = 1 TO 12 PRINT I; "x"; N%; "="; I * N% NEXT I END SUB
±×¸®°í ¿ì¸®´Â ±×°ÍÀ» ´ÙÀ½°ú °°ÀÌ È£Ãâ callÇÒ ¼ö ÀÖ´Ù:
PRINT "Here is the 7 times table..." TIMES(7)
ÁÖ ÀÇ: ¿ì¸®´Â N% ¶ó°í ºÎ¸£´Â ¸Å°³º¯¼ö¸¦ Á¤ÀÇÇß°í ±×¸®°í Àμöargument 7 À» ³Ñ°ÜÁÖ¾ú´Ù. ±× ÇÔ¼ö ¾È¿¡ ÀÖ´Â Áö¿ª º¯¼ö N% Àº ¿ì¸®°¡ ±×°ÍÀ» È£ÃâÇßÀ» ¶§ °ª 7 À» ÃëÇÏ¿´´Ù ¿ì¸®´Â ÇÔ¼ö Á¤ÀÇ¿¡¼ ¿ì¸®°¡ ¿øÇÏ´Â ¸¸Å ¸Å°³º¯¼ö¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. ±×¸®°í È£ÃâÇÏ´Â ÇÁ·Î±×·¥Àº ¹Ýµå½Ã °¢°¢ÀÇ ¸Å°³º¯¼ö¿¡ °ªµéÀ» Á¦°øÇÏ¿©¾ß¸¸ ÇÑ´Ù. ¾î¶² ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â ¿©·¯ºÐ¿¡°Ô ±âº» °ª default valuesÀ» ¸Å°³º¯¼ö¿¡ Á¤ÀÇÇÒ ¼ö ÀÖµµ·Ï ÇÏ¿© ÁÖ¾î¼ ¸¸¾à °ªÀÌ Á¦°øµÇÁö ¾Ê´Â´Ù¸é ±× ÇÔ¼ö´Â ±âº» °ªÀ¸·Î °£ÁÖÇÑ´Ù. ³ªÁß¿¡ ¿ì¸®´Â ÆÄÀ̽㿡¼ ÀÌ°ÍÀ» º¸°Ô µÉ °ÍÀÌ´Ù.
ÆÄÀ̽㿡¼ TIMES ÇÔ¼ö´Â ´ÙÀ½°ú °°´Ù:
def times(n): for i in range(1,13): print "%d x %d = %d" % (i, n, i*n)
±×¸®°í ´ÙÀ½°ú °°ÀÌ È£ÃâµÈ´Ù:
print "Here is the 9 times table..." times(9)
ÀÌ·¯ÇÑ ÇÔ¼öµéÀÌ ¾î¶² °ªµµ ¹ÝȯÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» ÁÖ¸ñÇ϶ó(±×µéÀº ½ÇÁ¦·Î ¾î¶² ¾ð¾î¿¡¼´Â ÇÁ·Î½ÃÁ®procedures¶ó°í ºÎ¸£´Â °ÍÀÌ´Ù.) »ç½ÇÀº º£ÀÌÁ÷ ¹öÁ¯ÀÌ ½ÇÁ¦·Î ÇÔ¼öFUNCTIONÅ°¿öµå º¸´Ù´Â ¼ºê·çƾSUB Å°¿öµå¸¦ »ç¿ëÇÑ´Ù´Â °ÍÀ» ÁÖ¸ñÇ϶ó. ÀÌ°ÍÀº ¼ºê·çƾsubroutineÀ» ³ªÅ¸³»¸ç ¾î¼Àºí·¯ ÇÁ·Î±×·¡¹Ö ½ÃÀýºÎÅÍ ¾à°£ »ç¿ëµÇ¾îÁø ´Ü¾îÀÌ´Ù. º£ÀÌÁ÷¿¡¼´Â °ªÀ» ¹ÝȯÇÏÁö ¾Ê´Â ÇÔ¼ö¸¦ ÀǹÌÇÑ´Ù. ¹Ý¸é¿¡ ÆÄÀ̽ãÀº def ¶ó´Â ¿ë¾î¸¦ »ç¿ëÇϴµ¥ ÀÌ°ÍÀº 'define'ÀÇ ¾àĪÀ̸ç ÀÌÈÄ¿¡ µû¶ó¿À´Â °ÍÀº ÇÔ¼ö¶ó°í °£ÁֵǾîÁø´Ù.
³»°¡ ¾ð±ÞÇÑ ±âº»°ªÀÇ »ç¿ë¹ýÀ» ±â¾ïÇϴ°¡? ÀÌ°ÍÀ» »ç¿ëÇÏ´Â ÀǹÌÀÖ´Â ¹æ¹ýÁß Çϳª´Â ¿äÀÏÀ» ¹ÝȯÇÏ´Â ÇÔ¼ö°¡ µÉ °ÍÀÌ´Ù. ¿ì¸®°¡ ±×°ÍÀ» Àμö ¾øÀÌ È£ÃâÇÑ´Ù¸é ¿ì¸®´Â ¿À´ÃÀ» ÀǵµÇÏ°í ÀÖ´Â °ÍÀÌ°í, ±×·¸Áö ¾ÊÀ¸¸é ¿ì¸®´Â ³¯Â¥ÀÇ ¼ýÀÚ¸¦ Àμö·Î Á¦°øÇØ¾ß ÇÑ´Ù. ´ÙÀ½°ú °°ÀÌ:
# a day value of -1 => today def dayOfWeek(DayNum = -1): days = ['Monday','Tuesday', 'Wednesday','Thursday', 'Friday', 'Saturday', 'Sunday'] # check for the default value if DayNum == -1: # Use the time module functions to get current time # see the table above and the official module documentation import time theTime = time.localtime(time.time()) DayNum = theTime[6] return days[DayNum]
ÁÖ ÀÇ: ±âº» ¸Å°³º¯¼ö °ªÀÌ °ü·ÃµÉ ¶§¸¸, ¿ì¸®´Â time¸ðµâÀ» »ç¿ëÇÏ¸é µÈ´Ù. ±×·¯¹Ç·Î ¿ì¸®´Â ±×°ÍÀÌ ÇÊ¿äÇÒ ¶§±îÁö ¼öÀÔÀ» ¿¬±âÇÑ´Ù. ¿ì¸®°¡ ±× ÇÔ¼öÀÇ ±âº»°ª »ç¾çÀ» »ç¿ëÇÏÁö ¾Ê¾Æµµ µÈ´Ù¸é ÀÌ°ÍÀ¸·Î ¾à°£ÀÇ ¼öÇà °³¼±À» Á¦°øÇÒ °ÍÀÌ´Ù.
ÀÌÁ¦ ¿ì¸®´Â ´ÙÀ½À¸·Î ÀÌ°ÍÀ» È£ÃâÇÒ ¼ö ÀÖ´Ù:
print "Today is: %s" % dayOfWeek()
# remember that in computer speak we start from 0
# and in this case we assume the first day is Monday.
print "The third day is %s" % dayOfWeek(2)
´Ù½Ã °ö¼ÀÇ¥·Î µ¹¾Æ°¡¼....
¿ì¸®°¡ °ö¼ÀÇ¥ÀÇ °ªµéÀ» ´ÜÁö ¼ýÀÚÀÇ ¹è¿·Î ¹ÝȯÇÏ´Â ÇÔ¼ö¸¦ Á¤ÀÇÇÏ°í ½ÍÀ» ¶§´Â ¾î¶»°Ô Çϴ°¡? º£ÀÌÁ÷À¸·Î´Â ±×°ÍÀº ´ÙÀ½°ú °°ÀÌ º¸ÀÏ °ÍÀÌ´Ù:
FUNCTION TIMES% (N%) DIM VALUES(12) AS INTEGER FOR I = 1 to 12 VALUES(I) = I*N% NEXT I RETURN VALUES END FUNCTION
±×¸®°í ÆÄÀ̽㿡¼¶ó¸é:
def times(n):
# create new empty list
values = []
for i in range(1,13):
values.append(i*n)
return values
ÀÌ°Ç ¾à°£ ¿ìµÐÇÑ °Í °°Àºµ¥, ¿Ö³ÄÇÏ¸é ´ÜÁö ¿äûµÉ ¶§ i*n¸¦ °è»êÇϴ°ÍÀÌ ´õ ½±±â ¶§¹®ÀÌ´Ù. ±×·¯³ª Èñ¸ÁÀûÀ¸·Î ¿©·¯ºÐÀº ±× ¾ÆÀ̵ð¾î¸¦ ÀÌÇØÇÑ´Ù. °ªÀ» ¹ÝȯÇÏ´Â ´õ¿í ½Ç¿ëÀûÀÎ ÇÔ¼ö´Â ¹®ÀÚ¿¿¡ ÀÖ´Â ´Ü¾îÀÇ ¼ö¸¦ ¼¼¾îº¸´Â °ÍÀÌ µÉ °ÍÀÌ´Ù. ¿©·¯ºÐÀº ±×ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ÆÄÀÏ¿¡ ÀÖ´Â ´Ü¾î¸¦ °¢ ¶óÀο¡ ÀÖ´Â °³¼ö¸¦ ¸ðµÎ ´õÇØ °è»êÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×°ÍÀ» À§ÇÑ ÄÚµå´Â ´ÙÀ½°ú °°Àº ±×·±°ÍÀÌ µÉ °ÍÀÌ´Ù:
def numwords(s): list = split(s) # list with each element a word return len(list) # return number of elements in list for line in file: total = total + numwords(line) # accumulate totals for each line print "File had %d words" % total
ÀÌÁ¦ ¿©·¯ºÐÀÌ ±×°ÍÀ» ½ÃÇè¿¡ º¸¸é, ¿©·¯ºÐÀº ±×°ÍÀÌ ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù´Â ¾Ë°Ô µÉ °ÍÀÌ´Ù. ³»°¡ ÇÑ°ÍÀº ÀϹÝÀûÀÎ µðÀÚÀÎ Å×Å©´ÐÀ¸·Î¼ ±×°ÍÀº ³»°¡ »ý°¢Çϱ⿡ ±× Äڵ尡 ¾î¶»°Ô º¸¿©¾ß ÇÏ´ÂÁö¸¦ ±×¸° °ÍÀÌÁö¸¸ Àý´ëÀûÀ¸·Î Á¤È®ÇÑ Äڵ带 »ç¿ëÇÏ·Á°í °í¹ÎÇÏÁö ¾Ê°í ´ëÃæ ±×·Áº» °ÍÀÌ´Ù. °¡²û ÀÌ·±°ÍÀ» ÀÏÄþî ÀÇ»çÄÚµå(Pseudo Code)¶ó°í ¾Ë·ÁÁ® ÀÖÀ¸¸ç ¶Ç´Â Á» ´õ Çü½ÄÀûÀÎ ½ºÅ¸ÀÏ·Î ÇÁ·Î±×·¥ ±â¼ú ¾ð¾î(Program Description Language (PDL))À̶ó°í ºÎ¸¥´Ù.
¿ì¸®°¡ ÆÄÀÏ°ú ¹®ÀÚ¿ 󸮸¦ Á» ´õ ÀÚ¼¼È÷ µé¿©´Ù º¸°í³ª¸é, ÀÌ °ÁÂÀÇ Á¶±Ý ÈÄ¿¡, ¿ì¸®´Â ÀÌ ¿¹Á¦·Î ´Ù½Ã µ¹¾Æ ¿Ã °ÍÀÌ´Ù. ±×¸®°í ½ÇÁ¦·Î ±×°ÍÀ» ½ÇÇàÇØ º¼ °ÍÀÌ´Ù.
¿ì¸®´Â ¶ÇÇÑ Æ¼Å¬¿¡¼ ÇÔ¼ö¸¦ ¹°·Ð, ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù ±×¸®°í ¿ì¸®´Â proc ¸í·É¾î¸¦ »ç¿ëÇÏ¿© ±×·¸°Ô ÇÒ ¼ö ÀÖ´Ù, ´ÙÀ½°ú °°ÀÌ:
proc times {m} { for {set i 1} {$i <= 12} {incr i} { lappend results [expr $i * $m] } return $results }
ÁÖ¸ñÇÒ °ÍÀº ƼŬÀÇ lappend ¸®½ºÆ® ¸í·É¾î¸¦ »ç¿ëÇÔÀ¸·Î½á ³ª´Â ÀÚµ¿ÀûÀ¸·Î results ¶ó´Â ¸®½ºÆ®¸¦ »ý¼ºÇÏ¿´°í °Å±â¿¡´Ù ¿ä¼ÒµéÀ» Ãß°¡Çϱ⠽ÃÀÛÇÑ´Ù´Â °ÍÀÌ´Ù.
ƼŬÀº ÇÔ¼ö¸¦ ´Ù·ç´Â ¹æ¹ý¿¡¼ ¾à°£ ´Ù¸¥´Ù. »ç½Ç ¿©·¯ºÐÀº ³»°¡ ³»ÀåµÈ ƼŬÀÇ ÇÔ¼öÀÎ ¸í·É¾îcommands¸¦ È£ÃâÇÏ°í ÀÖ¾ú´Ù´Â °ÍÀ» ´«Ä¡Ã«À» Áöµµ ¸ð¸¥´Ù. ±×°ÍÀº ƼŬ¿¡¼ ¿©·¯ºÐÀÌ Å¸ÀÌÇÁÇÏ´Â ¸ðµç ¸í·É¾îµéÀÌ ½ÇÁ¦·Î´Â ÇÔ¼ö È£ÃâÀ̱⠶§¹®ÀÌ´Ù. ´ëºÎºÐÀÇ ¾ð¾îµéÀº for, while, if/else µîµî°ú °°Àº Å°¿öµåµéÀÇ ÁýÇÕÀ» °¡Áø´Ù. ƼŬÀº ÀÌ·¯ÇÑ ¸ðµç Á¦¾î Å°¿öµåµéÀ» ¸í·É¾î ȤÀº ÇÔ¼öµéÀÌ µÇµµ·Ï ¸¸µç´Ù. ÀÌ°ÍÀº ¿ì¸®°¡ ³»Àå Á¦¾î ±¸Á¶¸¦ ´ÙÀ½°ú °°ÀÌ ¹Ù²Ü¼ö ÀÖµµ·Ï ÇØÁÖ´Â Èï¹Ì·Ó°í, È¥¶õ½º·¯¿ì¸ç ±×¸®°í ´ë´ÜÈ÷ °·ÂÇÑ È¿°ú¸¦ °¡Áö°í ÀÖ´Ù:
set i 3 while {$i < 10} { puts $i set i [expr $i + 1] }
¿¹»óÇÑ ¹Ù¿Í °°ÀÌ ÀÌ°ÍÀº ¼ýÀÚ¸¦ 3¿¡¼ºÎÅÍ (10º¸´Ù´Â 1ÀÛÀº) 9±îÁö Ãâ·ÂÇÑ´Ù. ±×·¯³ª ÀÌÁ¦ while ¸í·É¾î¿¡ ´ëÇÑ ¿ì¸® ÀڽŸ¸ÀÇ ¹öÀüÀ» Á¤ÀÇÇØ º¸ÀÚ:
proc while {x y} { puts "My while now" } set i 3 while {$i < 10} { puts $i set i [expr $i + 1] }
ÀÌ°ÍÀº ´ÜÁö "My while now"¶ó´Â ¸Þ½ÃÁö¸¸À» Ãâ·ÂÇÑ´Ù. Ç¥Çö½Ä°ú ¸í·É¾î ¿¬¼Ó¿Àº ¹«½ÃµÈ´Ù ¿Ö³ÄÇϸé ƼŬÀº ±×°ÍµéÀ» while ÇÔ¼ö·Î º¸³»¾îÁö´Â ¸Å°³º¯¼ö·Î Ãë±ÞÇÏ°í ±×¸®°í while ÇÔ¼ö´Â ±×°ÍµéÀ» ¿¹»óÇÏ°í ÀÖÁö¸¸ ¹«½ÃÇϱ⠶§¹®ÀÌ´Ù! ±×·¡¼ ¿©·¯ºÐÀº ¿ì¸®°¡ ƼŬ¿¡¼ ÇÁ·Î½ÃÀú¸¦ ¾î¶»°Ô Á¤ÀÇ ÇÏ´ÂÁö º¼¼ö ÀÖ´Ù ±×¸®°í ±×°ÍÀ» ³²¿ëÇÏ¿© ¾î¶»°Ô ¿©·¯ºÐÀÌ ´ë´ÜÈ÷ È¥¶õ½º·± ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´ÂÁö¸¦ º¼ ¼ö ÀÖ´Ù. - ¿©·¯ºÐÀÌ ÃæºÐÇÑ ÀÌÀ¯°¡ ¾ø´Ù¸é ±×·¸°Ô ÇÏÁö ¸¶¶ó!
ÀÚ ÀÌÁ¦ ¿ì¸®´Â ¿ì¸® ÀڽŸ¸ÀÇ ÇÔ¼ö¸¦ ¸¸µé ¼ö ÀÖ°í À̰͵éÀ» ¿ì¸®ÀÇ ÇÁ·Î±×·¥¿¡ ÀÖ´Â ´Ù¸¥ ºÎºÐÀ¸·Î ºÎÅÍ È£ÃâÇÒ ¼ö ÀÖ´Ù. ÀÌÁ¡Àº Âü ÁÁÀº °ÍÀε¥ ¿ì¸®°¡ ŸÀÌÇÎÇÏ´Â ¼ö°í¸¦ ´ú ¼ö ÀÖ°í, ´õ¿í Áß¿äÇÑ °ÍÀº ¿ì¸®ÀÇ ÇÁ·Î±×·¥À» ´õ ½±°Ô ÀÌÇØÇÒ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ¿ì¸®´Â ÇÔ¼ö¸¦ ÀÛ¼ºÇÏ°í ³ÈÄ¿¡ ±× ÇÔ¼ö°¡ ¼¼ºÎ»çÇ×µéÀ» °¨Ãß¾î ÁֹǷΠ±×°Í¿¡ °üÇÏ¿© ÀØ¾î ¹ö·Áµµ ÁÁ±â ¶§¹®ÀÌ´Ù. (ÃæºÐÈ÷ ¸í¹éÇÑ ÀÌÀ¯·Î ÇÁ·Î±×·¥ÀÇ º¹ÀâÇÑ ºÎºÐµéÀ» ÇÔ¼ö¾ÈÀ¸·Î ½Î ³Ö´Â ¿ø¸®¸¦ Á¤º¸ÀºÆó information hiding¶ó°í ºÎ¸¥´Ù.) ±×·¯³ª ¾î¶»°Ô ¿ì¸®´Â ÀÌ·¯ÇÑ ÇÔ¼ö¸¦ ´Ù¸¥ ÇÁ·Î±×·¥¿¡¼ »ç¿ëÇÒ ¼ö ÀÖÀ»±î? ¿ì¸®´Â ¸ðµâÀ» ÀÛ¼ºÇÑ´Ù.
ÆÄÀ̽㿡¼ ¸ðµâÀº Ưº°ÇÑ °ÍÀÌ ¾Æ´Ï´Ù. ±×°ÍÀº ´ÜÁö ÆÄÀ̽ã ÇÁ·Î±×·¥ÀÇ ¼¼ú¹®À¸·Î °¡µæ Âù ´Ü¼øÇÑ ÅؽºÆ®ÆÄÀÏÀÏ »ÓÀÌ´Ù. º¸Åë ÀÌ·¯ÇÑ ¼¼ú¹®Àº ÇÔ¼öÁ¤ÀÇÀÌ´Ù. ±×¸®ÇÏ¿© ¿ì¸®°¡ ´ÙÀ½°ú °°ÀÌ Å¸ÀÌÇÁÇÒ ¶§:
from sys import *
¿ì¸®´Â È¿°úÀûÀ¸·Î sys.pyÀÇ ³»¿ëÀ» °ÅÀÇ ÀÚ¸£°í ºÙÀ̱⠱â´É°ú °°ÀÌ, ¿ì¸®ÀÇ ÇÁ·Î±×·¥¿¡ º¹»çÇÑ´Ù. (±×°Í(import)Àº ½ÇÁ¦·Î ±×°Í(copy & paste)°ú °°Àº °ÍÀº ¾Æ´ÏÁö¸¸ °³³äÀº °°´Ù) »ç½Ç ¾î¶² ÇÁ·Î±×·¡¹Ö ¾ð¾î(C++ÀÌ ´ëÇ¥ÀûÀÌ´Ù)¿¡¼ ¹ø¿ª±â´Â ¹®ÀÚ±×´ë·Î ¸ðµâ ÆÄÀÏÀ» ÇöÀçÀÇ ÇÁ·Î±×·¥¿¡ ¿ä±¸µÈ´ë·Î ´Ü¼øÈ÷ º¹»çÇϱ⸸ ÇÑ´Ù.
±×·¡¼ ¿ä¾àÇÏÀÚ¸é, ¿ì¸®°¡ ´Ù¸¥ ÇÁ·Î±×·¥¿¡¼ ´Ù½Ã ¾²±â¸¦ ¿øÇÏ´Â ÇÔ¼öµéÀ» ´ã°í ÀÖ´Â ÆÄÀ̽ã ÆÄÀÏÀ» ÀÛ¼ºÇÔÀ¸·Î½á ¿ì¸®´Â ¸ðµâÀ» ÀÛ¼ºÇÑ´Ù. ±×¸®°í¼ ¿ì¸®´Â ´ÜÁö ¿ì¸®ÀÇ ¸ðµâÀ» Ç¥ÁظðµÑÀ» ¼öÀÔÇÑ°Í°ú Á¤È®ÇÏ°Ô ¶È °°Àº ¹æ¹ýÀ¸·Î ¼öÀÔÇϱ⸸ ÇÏ¸é µÈ´Ù. ½±Áö¿ä, ¾È ±×·±°¡¿ä? ±×·¸°Ô ÇØ º¸ÀÚ.
¾Æ·¡ÀÇ ÇÔ¼ö¸¦ ÆÄÀÏ¿¡ ³Ö°í¼ ±× ÆÄÀÏÀ» timestab.py¶ó´Â À̸§À¸·Î ÀúÀåÇ϶ó.
def print_table(multiplier): print "--- Printing the %d times table ---" % multiplier for n in range(1,13): print "%d x %d = %d" % (n, multiplier, n*multiplier)
ÀÌÁ¦ ÆÄÀ̽ã ÇÁ·ÒÇÁÆ®¿¡¼ ŸÀÌÇÁÇ϶ó:
>>> import timestab >>> timestab.print_table(12)
¾ß ºü¸£´Ù! ¿©·¯ºÐÀº ¸ðµâÀ» ÀÛ¼ºÇß°í »ç¿ëÇß´Ù.
Áß¿äÇÑ ÁÖÀÇ: ¿©·¯ºÐÀÌ ÆÄÀ̽ãÀ» timestab.py°¡ ÀúÀåµÈ °°Àº µð·ºÅ丮¿¡¼ ½ÃÀÛÇÏÁö ¾Ê¾Ò´Ù¸é ÆÄÀ̽ãÀº ±× ÆÄÀÏÀ» ãÁö ¸øÇÏ°í ¿¡·¯¸¦ º¸°íÇÒ °ÍÀÌ´Ù. ±×·¸´Ù¸é ¿©·¯ºÐÀº PYTHONPATH ¶ó´Â ȯ°æ º¯¼ö¸¦ ÀÛ¼ºÇÏ¿© ±× ¸ðµâÀ» ã±â À§ÇÑ À¯È¿ÇÑ µð·ºÅ丮ÀÇ ¸ñ·ÏÀ» ´ãÀ» ¼ö ÀÖ´Ù. (ÆÄÀ̽㿡 Á¦°øµÇ´Â Ç¥Áظðµâµµ ¿ª½Ã ¸¶Âù°¡Áö´Ù)
ȯ°æ º¯¼ö¸¦ ¸¸µå´Â °ÍÀº Ç÷§Æû¿¡ µû¶ó 󸮹æ¹ýÀÌ ´Ù¸£¹Ç·Î ³ª´Â ¿©·¯ºÐÀÌ ÀÌ¹Ì »ç¿ë¹ýÀ» ¾Ë°í Àְųª ãÀ» ¼ö ÀÖ´Ù°í °¡Á¤ÇÑ´Ù!
º£ÀÌÁ÷Àº ¾î¶²°¡? ±×°ÍÀº ´õ¿í º¹ÀâÇÏ´Ù.... Å¥º£ÀÌÁ÷°ú ´Ù¸¥ ¿À·£ º¯Á¾µé¿¡´Â ½ÇÁ¦ÀûÀÎ ¸ðµâÀÇ °³³äÀÌ ¾ø´Ù. ¿©·¯ºÐÀº ÀÌÀüÀÇ ÇÁ·ÎÁ§Æ®¿¡¼ ÇöÀçÀÇ ÇÁ·ÎÁ§Æ®·Î ÅؽºÆ® ÆíÁý±â¸¦ »ç¿ëÇÏ¿© ¼öµ¿À¸·Î ÀÚ¸£°í ºÙ¿©¾ß¸¸ ÇÑ´Ù. ±×·¸Áö¸¸ ºñÁê¾ó º£ÀÌÁ÷¿¡¼´Â ¸ðµâÀÇ °³³äÀÌ ÀÖ¾î¼ ¿©·¯ºÐÀº ÅëÇÕȯ°æ(Integrated Development Environment (IDE))ÀÇ File|Open Module... ¸Þ´º¸¦ ÅëÇÏ¿© ¸ðµâÀ» ÀåÂøÇÒ ¼ö ÀÖ´Ù. º£ÀÌÁ÷¾È¿¡¼ ¿©·¯ºÐÀÇ ÇÒ ¼ö ÀÖ´Â °ÍµéÀÇ Á¾·ù¿¡´Â ¾à°£ÀÇ Á¦ÇÑÀÌ ÀÖ´Ù. ±×·¯³ª ¿ì¸®°¡ ÀÌ °Á¿¡¼ ºñÁê¾ó º£ÀÌÁ÷À» »ç¿ëÇÏÁö´Â ¾ÊÀ¸¹Ç·Î ³ª´Â ´õ ÀÌ»ó ¾ÈÀ¸·Î µé¾î°¡Áö´Â ¾Ê°Ú´Ù. (ÁÖÀÇ : ºñÁê¾ó º£ÀÌÁ÷À» Àß¶ó³½ ¹öÁ¯ÀÌ Àִµ¥ ±×°ÍÀº CCE(COM Controls Edition)À̶ó°í ¾Ë·ÁÁ® ÀÖÀ¸¸ç ¿©·¯ºÐÀÌ ½ÃÇèÇØ º¸°í ½Í´Ù¸é, ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® À¥»çÀÌÆ®¿¡¼ ¹«·á·Î ³»·Á¹ÞÀ» ¼ö ÀÖ´Ù. ¶ÇÇÑ À©µµ¿ì 98, 2000 °ú IE5 ¸ðµÎ´Â VBScript¶ó°í ºÎ¸£´Â VBÀÇ Ãà¾à ¹öÁ¯À» °¡Áö°í ÀÖ´Ù. ¿©·¯ºÐÀº .vbs·Î ³¡³ª´Â ÆÄÀÏ¿¡¼ ±×°ÍÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.)
¸¶Áö¸·À¸·Î TclÀº, ¾ðÁ¦³ª¿Í °°ÀÌ(!), ¸ðµâÀ» Àç»ç¿ëÇÑ´Ù´Â °Í¿¡ °üÇؼ´Â ¾à°£ ÀýÃæÀûÀÎ , ±×·¯³ª ±×·³¿¡µµ ºÒ±¸ÇÏ°í Èï¹ÌÀÖ´Â, ±æÀ» äÅÃÇÏ°í ÀÖ´Ù. (¶Ç´Â ±×°ÍÀº ±×°ÍµéÀ» ¶óÀ̺귯¸®(libraries)¶ó°í ºÎ¸£±â¸¦ ´õ ÁÁ¾ÆÇÑ´Ù)
°¡Àå ´Ü¼øÇÑ ¼öÁØ¿¡¼ ¿©·¯ºÐÀº ƼŬ ÇÔ¼öÀÇ ÆÄÀÏÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. ¸¶Âù°¡Áö·Î ¿ì¸®´Â ÆÄÀ̽㿡¼ ±×·¸°Ô ÇÒ ¼ö ÀÖÀ¸¸ç ±×·¯¸é, ¿©·¯ºÐÀÇ ÇÁ·Î±×·¥¿¡¼, ±× ÆÄÀÏÀ» ã¾Æ ²¨³¾source ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ¹®ÀÚ ±×´ë·Î ±× ÀÎÅÍÇÁ¸®ÅÍ¿¡°Ô ¿©·¯ºÐÀÇ ÆÄÀÏÀ» Àеµ·Ï ÇÏ¿© ÁÖ¸ç ±× ÇÁ·Î±×·¥µéÀº »ç¿ë°¡´ÉÇÏ°Ô µÈ´Ù. ±×·¯³ª ´õ Èï¹ÌÀÖ´Â ¼±ÅûçÇ×ÀÌ ÀÖ´Ù:
¿©·¯ºÐÀº ¿©·¯ºÐÀÇÆÄÀÏÀ» Àü¼úÇÑ ¹Ù¿Í °°ÀÌ ÀÛ¼ºÇÒ ¼ö ÀÖÀ¸¸ç ÆÄÀÏµé ¸ðµÎ¸¦ µð·ºÅ丮/Æú´õ¿¡ ³õ°í¼ ±×¸®°í´Â mk_index ¸í·É¾î¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Ù. ÀÌ°ÍÀ¸·Î ±× Æú´õ¿¡ ÀÖ´Â ÇÔ¼ö¿Í ÆÄÀϵéÀÇ ¸ðµç À妽º¸¦ ¸¸µç´Ù. ±×¸®°í³ª¼ ¿©·¯ºÐÀÇ ÇÁ·Î±×·¥¿¡¼ ¿©·¯ºÐÀº ´Ü¼øÈ÷ ÇÊ¿äÇÑ ÇÔ¼ö¸¦ È£ÃâÇÏ°í ƼŬ ÀÎÅÍÇÁ¸®ÅÍ´Â ±× ÇÔ¼ö°¡ »ç¿ë°¡´ÉÇÏÁö ¾Ê´Ù´Â °ÍÀ» ¾Ë°Ô µÉ °ÍÀÌ°í ÀÚµ¿ÀûÀ¸·Î À妽ºÆÄÀÏÀ» ã¾Æº¼ °ÍÀÌ´Ù. ±×¸®°í´Â ±×°ÍÀº ¶óÀ̺귯¸®ºÎÅÍ ÀûÀýÇÑ ¼Ò½º ÆÄÀÏÀ» ã¾Æ ²¨³»¾î¼ ±× ÇÔ¼ö¸¦ ½ÇÇàÇÒ °ÍÀÌ´Ù.
ã¾ÆÁö±â¸¸ ÇÏ¸é ±× ÇÔ¼ö´Â »ç¿ë°¡´ÉÇÑ »óÅ·ΠÀÖ¾î¼ ±×¿Í °ü·ÃµÈ ½ÇÇà ºÎ´ãÀÌ ¾ø´Ù. À¯ÀÏÇÑ ³Á¦´Â ÇÁ·Î±×·¡¸Ó°¡ °°Àº À̸§À» °¡Áø ÇÑ°³ ÀÌ»óÀÇ ÇÔ¼ö¸¦ °¡Áö´Â °ÍÀ» ÇÇÇؾ߸¸ ÇÑ´Ù´Â °ÍÀÌ´Ù. ƼŬÀÇ ÀÌ·¯ÇÑ »ç¾çÀº ÀÚµ¿·Îµù(autoloading)À̶ó°í ¾Ë·ÁÁ® ÀÖ´Ù.
´ÙÀ½À¸·Î ¿ì¸®´Â ÆÄÀϵé°ú ÅؽºÆ® 󸮹ýÀ» »ìÆ캸°í ±×¸®°í ³ª¼ ¾à¼ÓÇÑ´ë·Î ÆÄÀÏ¿¡¼ ´Ü¾î¸¦ ¼¼´Â ÀÛ¾÷À» ´Ù½Ã ¹æ¹®ÇÒ °ÍÀÌ´Ù. »ç½Ç ¿ì¸®´Â ¿ì¸®ÀÇ ÆíÀǸ¦ À§ÇÏ¿© °è¼ÓÇÏ¿© ÅؽºÆ® ó¸®ÇÔ¼öÀÇ ¸ðµâÀ» ¸¸µé°í ÀÖ´Â °ÍÀÌ´Ù.
±â¾ïÇØ¾ß ÇÒ °Í |
---|
|
ÀÌ ÆäÀÌÁö¿¡ ´ëÇÏ¿© Áú¹®À̳ª Á¦¾È»çÇ×ÀÌ ÀÖÀ¸¸é ´ÙÀ½ ÁÖ¼Ò·Î ³ª¿¡°Ô ÀüÀÚ¸ÞÀÏÀ» º¸³»¶ó:
agauld@crosswinds.net