Padwalker.

´Ù¸¥ ¹ÎÁ·ÀÇ ¾îÈÖ º¯¼ö·Î Àç»ý
Áö±Ý ´Ù¿î·Îµå

Padwalker. ¼øÀ§ ¹× ¿ä¾à

±¤°í

  • Rating:
  • ƯÇã:
  • Perl Artistic License
  • °¡°Ý:
  • FREE
  • °Ô½ÃÀÚ À̸§:
  • Robin Houston
  • °Ô½ÃÀÚ À¥»çÀÌÆ®:
  • http://search.cpan.org/~robin/

Padwalker. ű×


Padwalker. ¼³¸í

Padwalker´Â ±ÍÇÏ¿¡°Ô ÀüÈ­¸¦ °É ¼öÀÖ´Â ¼­ºê ·çƾ¿¡¼­ ¾îÈÖ º¯¼ö¸¦ °Ë»ç (¹× º¯°æÇϽʽÿÀ!) ¾îÈÖ º¯¼ö¸¦ ãÀ» ¼öÀÖ´Â Perl ¸ðµâÀÔ´Ï´Ù. Call.PadWalker°¡ ƯÈ÷ µð¹ö±ë¿¡ À¯¿ëÇÑ °æ¿ì¿¡¸¸ ÇØ´ç º¯¼ö¸¦ Ç¥½ÃÇÕ´Ï´Ù. PERLÀÇ ³»Àå µð¹ö°Å°¡ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. (¹°·Ð ¾ÇÀÇ¿¡µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.) Padwalker¸¦ ÇÁ·Î´ö¼Ç Äڵ忡¼­ Á÷Á¢ »ç¿ëÇÏÁö ¾Ê°ÚÁö ¸¸ ±ÍÇÏÀÇ ÅëÈ­ÀÔ´Ï´Ù. Padwalker¸¦ »ç¿ëÇÏ´Â ¸ðµâ Áß ÀϺδ Production.peek_my LevelPeek_our ¼öÁØ¿¡¼­ È®½ÇÈ÷ ¾ÈÀüÇÏ°í À¯¿ëÇÕ´Ï´Ù. ·¹º§ Àμö´Â È£ÃâÀÚÀÇ Àμö¿Í ¸¶Âù°¡Áö·Î Çؼ®µË´Ï´Ù. µû¶ó¼­ PEEK_MY (0)Àº ÇöÀç ¹üÀ§¿¡ÀÖ´Â ¸ðµç ³» º¯¼öÀÇ Çؽÿ¡ ´ëÇÑ ÂüÁ¶¸¦ ¹ÝȯÇÕ´Ï´Ù. Peek_MY (1) ÇöÀç ÇÏÀ§°¡ È£Ãâ µÈ ÁöÁ¡¿¡¼­ ¹üÀ§¿¡ÀÖ´Â ¸ðµç ³» º¯¼öÀÇ Çؽÿ¡ ´ëÇÑ ÂüÁ¶¸¦ ¹ÝȯÇÕ´Ï´Ù. Peek_our´Â ³» º¯¼ö°¡ ¾Æ´Ñ ¿ì¸®ÀÇ º¯¼ö¸¦ ³ª¿­ÇÏ´Â °ÍÀ» Á¦¿ÜÇÏ°í´Â µ¿ÀÏÇÑ ¹æ½ÄÀ¸·Î ÀÛµ¿ÇÕ´Ï´Ù. Çؽô °¢ º¯¼ö À̸§À» ÇØ´ç °ª¿¡ ´ëÇÑ ÂüÁ¶·Î ¿¬°áÇÕ´Ï´Ù. º¯¼ö À̸§¿¡´Â SIGILÀÌ Æ÷ÇԵǹǷΠ$ X º¯¼ö°¡ '$ x'¹®ÀÚ¿­·Î Ç¥½ÃµË´Ï´Ù. ¿¹ : ³» $ x = 12; ³» $ h = peek_my (0); $ {$ h -> { '$ x'}} ++; $ x¸¦ ÀμâÇϽʽÿÀ; # 13 ¶Ç´Â ´õ º¹ÀâÇÑ ¿¹Á¦ : ÇÏÀ§ Eccement_my_x {My $ h = peek_my (1); $ {$ h -> { '$ x'}} ++; } ³ªÀÇ $ x = 5; increment_my_x; $ x¸¦ ÀμâÇϽʽÿÀ; # Àμâ 6peek_sub sub peek_sub ·çƾÀº CodeRef¸¦ Àμö·Î »ç¿ëÇÏ°í ÇØ´ç ÇÏÀ§¿¡ »ç¿ë µÈ ³» º¯¼öÀÇ Çؽø¦ ¹ÝȯÇÕ´Ï´Ù. ÀÌ´Â ÇÏÀ§°¡ »ç¿ë ÁßÀ̸é (Áï, Äݼ¾ÅÍ¿¡¼­) ½Ã°£¿¡ Á¦¿ÜµÇÁö ¾ÊÀ¸¸é °ªÀÌ Á¤ÀǵÇÁö ¾Ê½À´Ï´Ù. ´Ù¸¥ ÇÑÆí : ³» $ x = "¾È³çÇϼ¼¿ä!"; ³» $ r = peek_sub (sub {$ x}) -> { '$ x'}; "$$ r \ n"À» ÀμâÇϽʽÿÀ; # 'hello!'Àμâ ÇÏÀ§°¡ °°Àº À̸§ÀÇ ¿©·¯ º¯¼ö¸¦ Á¤ÀÇÇÏ¸é ¸¶Áö¸· Çϳª¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ³ª´ÂÀÌ °á°ú·Î ºÎ¼­ÁöÁö ¾Ê´Â PEEK_SUB¿¡ ´ëÇÑ ¾î¶² ¿ëµµ·Îµµ »ç¿ëÇÏÁö ¸øÇϸç, ÀϺΠ´Ù¸¥ ÀÎÅÍÆäÀ̽º¿¡ À¯¸®ÇÏ°Ô ¹Ì·¡ÀÇ ¹öÀü¿¡¼­ ´õ ÀÌ»ó »ç¿ëµÇÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. SUB CLESSIOL_OVER´Â keek_sub¿Í À¯»çÇÕ´Ï´Ù. ¼­ºê ·çƾ¿¡¼­ »ç¿ëµÇ´Â ³» º¯¼ö¸¦ ³ª¿­ÇÏ°í ¿ÜºÎ¿¡¼­ Á¤ÀÇ µÈ ¹Ù±ùÂÊ¿¡ : ´Ù¸¥ ´Ü¾î·Î ´Ý´Â º¯¼öÀÔ´Ï´Ù. ÀÌ°ÍÀº ÇÕ¸®ÀûÀÎ ¿ëµµ°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, µ¥ÀÌÅÍ :: dump :: STREAMER (½ÇÁ¦·Î CLISE_OVER). SETS_CLOSSE_OVER SUB, HASH_REF SET_CLOSE_OVER´Â ¼­ºê ·çƾ¿¡ ÀÇÇØ ´ÝÈù ÆÐµå º¯¼ö¸¦ Àç ÇÒ´çÇÕ´Ï´Ù. µÎ ¹ø° Àμö´Â closed_over.var_name ¼öÁØ¿¡¼­ ¹Ýȯ µÈ °Í°ú ¸¶Âù°¡Áö·Î var_refvar_name sub, var_ref var_name (sub, var_ref)¿¡¼­ ¹Ýȯ µÈ °Í°ú ¸¶Âù°¡Áö·Î var_ref°¡ ÂüÁ¶ÇÏ´Â º¯¼öÀÇ À̸§À» ¹ÝȯÇÕ´Ï´Ù. º¸°á. ÇÏÀ§ ¸Å°³ º¯¼ö´Â ÄÚµå ÂüÁ¶ ¶Ç´Â ¼ýÀÚ ÀÏ ¼ö ÀÖ½À´Ï´Ù. ¼ýÀÚ¶ó¸é PEEK_MYÀÇ Àμö¿Í °°Àº ¹æ½ÄÀ¸·Î Ãë±ÞµË´Ï´Ù. ¿¹¸¦ µé¾î, ³» $ foo; print var_name (0, \ $ foo); # '$ foo'sub my_name {return var_name (1, shift); } my_name (\ $ foo) Àμâ; # Dittosynopsis´Â Padwalker QW¸¦ »ç¿ëÇÕ´Ï´Ù (PEEK_MY PEEK_OUR PEEK_SUB CLOSED_OVER); ... Á¦Ç°ÀÇ È¨ÆäÀÌÁö


Padwalker. °ü·Ã ¼ÒÇÁÆ®¿þ¾î