¼ÓÈëÊÕ²Ø | ÉèΪÊ×Ò³ | »áÔ±ÖÐÐÄ | ÎÒҪͶ¸å Àî´óͬ £¨https://www.lidatong.com.cn/£©- ¿Æ¼¼¡¢½¨Õ¾¡¢¾­Ñé¡¢ÔÆ¼ÆËã¡¢5G¡¢´óÊý¾Ý,Õ¾³¤Íø!
µ±Ç°Î»Ö㺠Ê×Ò³ > ´óÊý¾Ý > ÕýÎÄ

ΪʲôҪʹÓÃPerlÄäÃû×Ó³ÌÐò¶ø²»ÊÇÃüÃûµÄ×Ó³ÌÐò£¿

·¢²¼Ê±¼ä£º2020-12-15 21:17:35 ËùÊôÀ¸Ä¿£º´óÊý¾Ý À´Ô´£ºÍøÂçÕûÀí
µ¼¶Á£ºÎÒÖ»ÊÇºÃÆæÎªÊ²Ã´ÔÚPerlÖÐÑ¡ÔñʹÓÃÄäÃû×ÓÀý³Ì£¬¶ø²»ÊÇÃüÃûµÄ×ÓÀý³Ì¡£Ð»Ð»¡£ ½â¾ö·½·¨ Äú¿ÉÒÔÔÚÊý×飬¹þÏ£ºÍ±êÁ¿Öд洢ÄäÃû×Ó³ÌÐò¡£ Äú¿ÉÒÔÔÚÔËÐÐʱ¹¹½¨ËüÃÇ Äú¿ÉÒÔ½«ËüÃÇ×÷Ϊ²ÎÊý´«µÝ¸øÆäËûº¯Êý¡£ Äã¿ÉÒ԰ѱäÁ¿±£´æÔÚÖÜΧµÄ·¶Î§ÄÚ¡£ ×îºóÒ»µã¿ÉÄÜÊÇ×îÖØÒªµÄ
ÎÒÖ»ÊÇºÃÆæÎªÊ²Ã´ÔÚPerlÖÐÑ¡ÔñʹÓÃÄäÃû×ÓÀý³Ì£¬¶ø²»ÊÇÃüÃûµÄ×ÓÀý³Ì¡£Ð»Ð»¡£

½â¾ö·½·¨

>Äú¿ÉÒÔÔÚÊý×飬¹þÏ£ºÍ±êÁ¿Öд洢ÄäÃû×Ó³ÌÐò¡£
>Äú¿ÉÒÔÔÚÔËÐÐʱ¹¹½¨ËüÃÇ
>Äú¿ÉÒÔ½«ËüÃÇ×÷Ϊ²ÎÊý´«µÝ¸øÆäËûº¯Êý¡£
Äã¿ÉÒ԰ѱäÁ¿±£´æÔÚÖÜΧµÄ·¶Î§ÄÚ¡£

×îºóÒ»µã¿ÉÄÜÊÇ×îÖØÒªµÄ£¬ÒòΪËüͨ³£ÊÇPerlÖÐÃüÃûÓëÄäÃû×Ó³ÌÐò×îÍ»³öµÄÒ»¸ö·½Ãæ¡£Àý£º

sub outer
{
  my $a = 123;

  sub inner
  {
    print $a,"n";
  }

  # At this point,$a is 123,so this call should always print 123,right?
  inner();

  $a = 456;
}

outer(); # prints 123
outer(); # prints 456! Surprise!

µ«Êǽ«¡°ÄÚ²¿¡±´ÓÒ»¸öÃüÃûµÄ×Ó³ÌÐò¸ÄΪ¶ÔÒ»¸öÄäÃû×Ó³ÌÐòµÄÒýÓã¬ËüµÄ¹¤×÷Ô­Àí¾Í²»ÄÇôÁîÈ˾ªÑÈ£º

sub outer
{
  my $a = 123;

  my $inner = sub
  {
    print $a,"n";
  };

  # At this point,and since the anonymous subrotine 
  # whose reference is stored in $inner closes over $a in the 
  # "expected" way...
  $inner->();

  $a = 456;
}

# ...we see the "expected" results
outer(); # prints 123
outer(); # prints 123

(µ±È»£¬Ã¿¸öÈËµÄÆÚÍûÊDz»Í¬µÄ£¬Òò´Ë¡°Ô¤ÆÚ¡±ÖÜΧµÄ¡°¾ªÏű¨¼Û¡±)

ÒÔÏÂÊÇʵ¼Ê´úÂëÖеÄÒ»¸öʾÀý(¾¡¹ÜÓ¦¸Ã×¢ÒâµÄÊÇ£¬File :: Find½çÃæÍ¨³£±»ÈÏΪÊÇÒ»¸öÔã¸âµÄ´úÂë ¨C ÓÉÓÚËüʹÓÃÈ«¾Ö±äÁ¿£¬¶ø²»ÊÇʹÓÃÄäÃû×ÓÀý³Ì)£º

sub find_files
{
  my @files;

  my $wanted = sub
  { 
    if($something)
    {
      push @files,$File::Find::name;
    }
  };

  # The find() function called here is imported from File::Find
  find({ wanted => $wanted },$directory);

  return @files;
}

´«µÝÒ»¸öÃüÃû×Ó³ÌÐò×÷ΪËùÐè²ÎÊýµÄÖµ½«ÐèҪʹÓÃÖ»ÄÜʹÓÃÒ»´ÎµÄÀý³ÌÀ´ÎÛȾÃüÃû¿Õ¼ä£¬²¢ÇÒÔÚfind_files()×ÓÀý³ÌÖж¨ÒåÒ»¸öÃüÃû×ÓÀý³Ì½«»á³ÊÏÖÇ°ÃæËùչʾµÄ¡°ÒâÍ⡱ÐÐΪ¡£

£¨±à¼­£ºÀî´óͬ£©

¡¾ÉùÃ÷¡¿±¾Õ¾ÄÚÈݾùÀ´×ÔÍøÂ磬ÆäÏà¹ØÑÔÂÛ½ö´ú±í×÷Õ߸öÈ˹۵㣬²»´ú±í±¾Õ¾Á¢³¡¡£ÈôÎÞÒâÇÖ·¸µ½ÄúµÄȨÀû£¬Ç뼰ʱÓëÁªÏµÕ¾³¤É¾³ýÏà¹ØÄÚÈÝ!

    ÍÆ¼öÎÄÕÂ
      ÈȵãÔĶÁ