·çºñRuby´Â ºü¸£°í ½¬¿î ÇÁ·Î±×·¡¹ÖÀ»À§ÇÑ °´Ã¼ ÁöÇâ ¾ð¾îÀÔ´Ï´Ù. | |
Áö±Ý ´Ù¿î·Îµå |
·çºñ ¼øÀ§ ¹× ¿ä¾à
±¤°í
·çºñ ű×
·çºñ ¼³¸í
Ruby´Â ºü¸£°í ½¬¿î ÇÁ·Î±×·¡¹ÖÀ»À§ÇÑ °´Ã¼ ÁöÇâ ¾ð¾îÀÔ´Ï´Ù. Ruby´Â ºü¸£°í ½¬¿î °´Ã¼ ÁöÇâ ÇÁ·Î±×·¡¹ÖÀ»À§ÇÑ Çؼ® µÈ ½ºÅ©¸³Æà ¾ð¾îÀÔ´Ï´Ù. ÅؽºÆ® ÆÄÀÏÀ» ó¸®ÇÏ°í Perl¿¡¼¿Í °°ÀÌ ½Ã½ºÅÛ °ü¸® ÀÛ¾÷À» ¼öÇàÇÏ´Â ¸¹Àº ±â´ÉÀÌ ÀÖ½À´Ï´Ù. °£´ÜÇÏ°í Á÷¼±Çü, È®Àå °¡´ÉÇϸç ÈÞ´ë¿ëÀÔ´Ï´Ù. ´ÙÀ½Àº "Ruby"ÀÇ ¸î °¡Áö ÁÖ¿ä ±â´ÉÀÌ ÀÖ½À´Ï´Ù. ¡¤ ·çºñ´Â ¿¡Æç°ú ADA°¡ ºÎºÐÀûÀ¸·Î ¿µ°¨À» ¾òÀº °£´ÜÇÑ ±¸¹®À» °¡Áö°í ÀÖ½À´Ï´Ù. ¡¤ Ruby¿¡´Â Java ¶Ç´Â Python°ú °°Àº ¿¹¿Ü ó¸® ±â´ÉÀÌ ÀÖÀ¸¹Ç·Î ¿À·ù¸¦ ½±°Ô ó¸® ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¡¤ RubyÀÇ ¿î¿µÀÚ´Â ¹æ¹ýÀ»À§ÇÑ ±¸¹® ¼³ÅÁÀÔ´Ï´Ù. ½±°Ô ÀçÁ¤ÀÇ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¡¤ Ruby´Â ¿ÏÀüÇÑ ¿ÏÀüÇÑ °´Ã¼ ÁöÇâ ¾ð¾î : OOLÀÔ´Ï´Ù. Áï, ·çºñÀÇ ¸ðµç µ¥ÀÌÅÍ´Â SmallTalkÀÇ Àǹ̿¡¼ °´Ã¼ÀÔ´Ï´Ù. ¿¹¿Ü´Â ¾ø½À´Ï´Ù. ¿¹ : Ruby¿¡¼, 1 ¹øÀº ¼ö¾÷ ÇȽº ´ÐÀÇ ÀνºÅϽºÀÔ´Ï´Ù. ¡¤ RubyÀÇ OO´Â °³¼±À» À§ÇØ ¿ÏÀüÇÏ°í °³¹æµÇµµ·Ï ½ÅÁßÇÏ°Ô ¼³°èµÇ¾ú½À´Ï´Ù. ¿¹ : Ruby´Â ·±Å¸ÀÓ Áß¿¡ Ŭ·¡½º ¶Ç´Â ÀνºÅϽº¿¡ ¸Þ¼Òµå¸¦ Ãß°¡ ÇÒ ¼öÀÖ´Â ±â´ÉÀÌ ÀÖ½À´Ï´Ù. µû¶ó¼ ÇÊ¿äÇÑ °æ¿ì ÇÑ Å¬·¡½ºÀÇ ÀνºÅϽº *´Â µ¿ÀÏÇÑ Å¬·¡½ºÀÇ ´Ù¸¥ ÀνºÅϽº¿Í ´Ù¸£°Ô ÀÛµ¿ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¡¤ Ruby´Â ´ÜÀÏ »ó¼Ó Àü¿ë, *ÀÇ ¸ñÀû *. ±×·¯³ª Ruby´Â ¸ðµâÀÇ °³³ä (objective-cÀÇ Ä«Å×°í¸®¶ó°í ÇÔ)À» ¾Ë°í ÀÖ½À´Ï´Ù. ¸ðµâÀº ¸Þ¼Òµå ¸ðÀ½ÀÔ´Ï´Ù. ¸ðµç Ŭ·¡½º´Â ¸ðµâÀ» °¡Á®¿Ã ¼ö ÀÖÀ¸¹Ç·Î ¸ðµç ¸Þ¼Òµå¸¦ ¹«·á·Î °¡Á®¿É´Ï´Ù. ¿ì¸® Áß ÀϺδ º¹ÀâÇÑ ¿©·¯ »ó¼Óº¸´Ù ÈξÀ ´õ ¸íÈ®ÇÑ ¹æ½ÄÀ̶ó°í »ý°¢ÇÏ°í ´ÜÀÏ »ó¼Ó¿¡ ºñÇØ ¸Å¿ì ÀÚÁÖ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù (¿©±â¼´Â °ÇÑ À¯Çü °Ë»ç·Î ÀÎÇØ ´Ù¸¥ ¼±ÅÃÀº ¾øÀ¸¹Ç·Î ¿©±â¿¡¼ C¸¦ °è»êÇÏÁö ¸¶½Ê½Ã¿À!) ...¿¡ ¡¤ Ruby´Â ÁøÁ¤ÇÑ Æó¼â¸¦ Ư¡À¸·ÎÇÕ´Ï´Ù. »Ó¸¸ ¾Æ´Ï¶ó À̸§¾ø´Â ±â´ÉÀÌ ¾Æ´Ï¶ó ÇöÀç °¡º¯ ¹ÙÀεùÀÌ ÀÖ½À´Ï´Ù. ¡¤ Ruby´Â ±¸¹® ( '{'... '{'... '}'¶Ç´Â 'do'... 'end')¿¡ ºí·ÏÀ» Ư¡À¸·ÎÇÕ´Ï´Ù. ÀÌ ºí·ÏÀº ¸Þ¼Òµå¿¡ Àü´ÞµÇ°Å³ª Æó¼â·Î º¯È¯ µÉ ¼ö ÀÖ½À´Ï´Ù. ¡¤ Ruby´Â ÁøÁ¤ÇÑ ¸¶Å© ¾Øµå ½ºÀ¬ °¡ºñÁö ¼öÁý±â¸¦ Ư¡À¸·ÎÇÕ´Ï´Ù. ±×°ÍÀº ¸ðµç ·çºñ °´Ã¼¿Í ÇÔ²² ÀÛµ¿ÇÕ´Ï´Ù. È®Àå ¶óÀ̺귯¸®¿¡¼ ÂüÁ¶ ¼ö¸¦ À¯Áö °ü¸®ÇÏ´Â °Í¿¡ ´ëÇØ ½Å°æ ¾²Áö ¾Ê¾ÆµµµË´Ï´Ù. ÀÌ°ÍÀº ´ç½ÅÀÇ °Ç°¿¡ ´õ ³´½À´Ï´Ù. ¡¤ ·çºñ¿¡¼ C È®ÀåÀ» ÀÛ¼ºÇÏ´Â °ÍÀº Perl ¶Ç´Â Pythonº¸´Ù ºÎºÐÀûÀ¸·Î °¡ºñÁö ¼öÁý±â¿¡ ¹Ì¼¼ÇÑ È®Àå API¿¡ ºÎºÐÀûÀ¸·Î ½±½À´Ï´Ù. Swig ÀÎÅÍÆäÀ̽ºµµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ·çºñÀÇ Á¤¼ö´Â ³»ºÎ Ç¥ÇöÀ» °è»êÇÏÁö ¾Ê°í »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. °Å±â¿¡´Â * ÀÛÀº Á¤¼ö (Ŭ·¡½º FixNum ÀνºÅϽº)¿Í Å« Á¤¼ö (Bignum)°¡ ÀÖÁö¸¸ ÇöÀç »ç¿ëµÇ´Â °ÆÁ¤ÀÌ ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù. °ªÀÌ ÃæºÐÈ÷ ÀÛ À¸¸é Á¤¼ö°¡ FIXNUMÀ̸ç, ±×·¸Áö ¾ÊÀ¸¸é ºñ¸íÀÌ ÀÖ½À´Ï´Ù. º¯È¯ÀÌ ÀÚµ¿À¸·Î ¹ß»ýÇÕ´Ï´Ù. ¡¤ ·çºñ´Â º¯¼ö ¼±¾ðÀÌ ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù. °£´ÜÇÑ À̸§ ÁöÁ¤ ±ÔÄ¢À» »ç¿ëÇÏ¿© º¯¼öÀÇ ¹üÀ§¸¦ ³ªÅ¸³À´Ï´Ù. ¿¹ : °£´ÜÇÑ 'var'= ·ÎÄà º¯¼ö, '@var'= ÀνºÅϽº º¯¼ö, '$ VAR'= Àü¿ª º¯¼ö. µû¶ó¼ ±ÍÂúÀº 'ÀÚ±â'¸¦ »ç¿ëÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ¸ðµç ÀνºÅϽº ¸â¹ö¿¡ Ãß°¡ÇÕ´Ï´Ù. ¡¤ OS°¡ Çã¿ëÇÏ¸é ·çºñ°¡ È®Àå ¶óÀ̺귯¸®¸¦ µ¿ÀûÀ¸·Î·Îµå ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¡¤ Ruby´Â OS µ¶¸³ ½º·¹µùÀ» Ư¡À¸·ÎÇÕ´Ï´Ù. µû¶ó¼ Ruby°¡ ½ÇÇàµÇ´Â ¸ðµç Ç÷§Æû¿¡¼´Â OS°¡ MS-DOS¿¡¼µµ Áö¿øÇÏÁö ¾Ê°Å³ª ¾Æ´Ñ °æ¿ì¿¡ °ü°è¾øÀÌ ´ÙÁß ½º·¹µå°¡ ÀÖ½À´Ï´Ù. ;-) ·çºñ´Â ¸Å¿ì ÈÞ´ë°¡ °¡´ÉÇÕ´Ï´Ù. ±×°ÍÀº ´ëºÎºÐ Linux¿¡¼ °³¹ßµÇ¾úÁö¸¸ ¸¹Àº Á¾·ùÀÇ UNIX, DOS, Windows 95 / 98 / ME / NT / 2000 / XP, MACOS, BEOS, OS / 2 µî¿¡¼ ÀÛµ¿ÇÕ´Ï´Ù.
·çºñ °ü·Ã ¼ÒÇÁÆ®¿þ¾î