微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Learning Perl: 10.4. The Naked Block Control Structure

Previous Page

Next Page

 

10.4. The Naked Block Control Structure

The so-called "naked" block is one without a keyword or condition. That is,suppose you start with a while loop,which looks something like this:

    while (condition) {
      body;
      body;
      body;
    }

Remove the while keyword and the conditional expression,and you'll have a naked block:

    {
      body;
      body;
      body;
    }

The naked block is like a while or foreach loop,except that it doesn't loop; it executes the body of the loop once,and it's done. It's an un-loop!

You'll see other uses for the naked block,but one of its features is providing a scope for temporary lexical variables:

    {
      print "Please enter a number: ";
      chomp(my $n = <STDIN>);
      my $root = sqrt $n;  # calculate the square root
      print "The square root of $n is $root./n";
    }

In this block,$n and $root are temporary variables scoped to the block. As a general guideline,all variables should be declared in the smallest scope available. If you need a variable for a few lines of code,you can put those lines into a naked block and declare the variable inside that block. If you need the value of $n or $root later,you will need to declare them in a larger scope.

You may have noticed the sqrt function in that code and wondered about it; yes,we haven't shown this function before. Perl has many built-in functions beyond the scope of this book. When you're ready,check the perlfunc manpage to learn about more of them.

Previous Page

Next Page

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐