| ÄÁÅؽºÆ® :: Preserve. ¼ºê ·çƾ È£Ãâ ÈÄ ÄÚµå ½ÇÇà, ÄÁÅؽºÆ®¸¦ À¯ÁöÇÏ¸é ¼ºê ·çƾÀÌ È£ÃâÀÚÀÇ ¸¶Áö¸· ¹®ÀåÀ̾ú½À´Ï´Ù. |
Áö±Ý ´Ù¿î·Îµå |
ÄÁÅؽºÆ® :: Preserve. ¼øÀ§ ¹× ¿ä¾à
- ƯÇã:
- Perl Artistic License
- °Ô½ÃÀÚ À̸§:
- Jonathan Rockway
- °Ô½ÃÀÚ À¥»çÀÌÆ®:
- http://search.cpan.org/~jrockway/
ÄÁÅؽºÆ® :: Preserve. ű×
ÄÁÅؽºÆ® :: Preserve. ¼³¸í
¼ºê ·çƾ È£Ãâ ÈÄ Äڵ带 ½ÇÇàÇÏ°í, ÄÁÅؽºÆ®¸¦ À¯ÁöÇÏ¸é ¼ºê ·çƾÀÌ È£ÃâÀÚÀÇ ¸¶Áö¸· ¸í·É¹®ÀÎÁö º¸ÀÌ´Â ÄÁÅؽºÆ®¸¦ º¸Á¸ ÇÒ °ÍÀÔ´Ï´Ù. Context :: Preserve´Â ¼ºê ·çƾ È£Ãâ ÈÄ Äڵ带 ½ÇÇàÇÏ´Â µ¥ µµ¿òÀ̵Ǵ Perl ¸ðµâÀ̸ç, ÄÁÅؽºÆ®¸¦ º¸Á¸ÇÏ¸é ¼ºê ·çƾÀÌ È£ÃâÀÚÀÇ ¸¶Áö¸· ¹®ÀåÀ̾úÀ» °ÍÀÎÁö¸¦ º¸¾ÒÀ» °ÍÀԴϱî? MY ($ °á°ú, @Result); # ¿Ã¹Ù¸¥ ÄÁÅؽºÆ®¿¡¼ ÇÏÀ§¸¦ ½ÇÇàÇϽʽÿÀ (! Á¤ÀÇ WantaRray) {ÀϺΠ:: ÄÚµå (); } ELSIF (WAXARRAY) {@RESULT = ÀϺΠ:: ÄÚµå (); } else {$ RETERAL = ÀϺΠ:: ÄÚµå (); } # ÀϺΠ:: ÄÚµå $ _ + = 42 (@Result, $ °á°ú); # ¸¶Ä§³» (! Á¤ÀÇ µÈ WanterArray Á¤ÀÇ) {return; } Elsif (WantaRray) {return @ Result; } else {$ °á°ú¸¦ ¹ÝȯÇÕ´Ï´Ù. } ÀÌÁ¦ ´ë½ÅÀ̸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù : Context :: Preserve; return preserve_context {ÀϺΠ:: code () {_ _ _}¿¡ ´ëÇÑ {$ _ + = 42); ¶§·Î´Â ÇÔ¼ö¸¦ È£ÃâÇÏ°í °á°ú¸¦ °¡Á®¿Í °á°ú¸¦ ÇàÇÑ ´ÙÀ½ ÇÔ¼öÀÇ °á°ú¸¦ ¹ÝȯÇؾßÇÕ´Ï´Ù. ÀÌ°ÍÀº ¸Æ¶ô ¶§¹®¿¡ °íÅë ½º·´½À´Ï´Ù. ¿ø·¡ ÇÔ¼ö´Â void, scalar ¶Ç´Â list context¿¡¼ È£ÃâµÇ¸é ´Ù¸¥ °ÍÀ¸·Î °£ÁÖ µÉ ¼ö ÀÖ½À´Ï´Ù. ´Ù¾çÇÑ °æ¿ì¸¦ ¹«½ÃÇÏ°í ´ÜÁö Çϳª¸¦ ¼±ÅÃÇÒ ¼ö´Â ÀÖÁö¸¸ ±úÁö±â ½±½À´Ï´Ù. ÀÏÀ» ÇÒ ¼ö ÀÖµµ·Ï, ¾î¶² °æ¿ì¿¡ ¾î¶² °ÍÀ» ¾Ë¾Æ¾ßÇÏ´ÂÁö È®ÀÎÇÑ ´ÙÀ½ ÇØ´ç ÄÁÅؽºÆ®¿¡¼ ÇÔ¼ö¸¦ È£ÃâÇؾßÇÕ´Ï´Ù. ÀÌ·Î ÀÎÇØ 3 °³ÀÇ ÄÚµå °æ·Î°¡ ¹ß»ýÇÏ¿© À¯ÇüÀ» ÀÔ·Â ÇÒ ¼öÀÖ´Â ÅëÁõÀÔ´Ï´Ù.ÀÌ ¸ðµâÀº ÇÁ·Î¼¼½º¸¦ ÀÚµ¿ÈÇÕ´Ï´Ù. "¿ø·¡ ÇÔ¼ö"ÀÎ CodeRef¿Í ¿ø·¡ ½ÇÇà ÈÄ ½ÇÇàÇÒ ´Ù¸¥ CodeRef°¡ Á¦°øµË´Ï´Ù. ¿©±â¿¡¼ ¹Ýȯ °ª (@ _ _)À» ¼öÁ¤ÇÏ°í ÇÊ¿äÇÑ ´Ù¸¥ ÀÛ¾÷À» ¼öÇà ÇÒ ¼ö ÀÖ½À´Ï´Ù. WantaRray´Â µÎ CodeRefs ³»¿¡¼ Á¤È®ÇÕ´Ï´Ù. "ÀÌÈÄ"¿¡¼ ¹Ýȯ °ªÀº ¹«½ÃµÇ°í °ªÀÌ ¿øÇÏ´Â ±â´ÉÀÌ ¿ø·¡ ÇÔ¼ö°¡ È£Ãâ µÈ ÄÁÅؽºÆ®¿Í °ü·ÃÀÌ ÀÖ½À´Ï´Ù. ¿ä±¸ »çÇ× : ¡¤ Perl.
ÄÁÅؽºÆ® :: Preserve. °ü·Ã ¼ÒÇÁÆ®¿þ¾î