• Perl学习笔记(四)--子程序


    定义子程序

      要定义自己的子程序,可使用关键字sub,子程序名(不包含与号)以及用花括号封闭起的代码块,例如:

    1 sub marine{
    2      $n +=1;  #全局变量 $n
    3      Print “Hello,sailor number $n n”;
    4 }

      子程序不需要事先声明

      子程序的定义是全局的,不存在私有子程序

      假如定义两个重名的子程序,后面的子程序会覆盖掉前面的那个

    调用子程序

    1 &marine;

    返回值

      子程序中最后一次运算的结果都会被自动当成子程序的返回值

    参数

      要传递参数列表到子程序里,只要在子程序调用的后面加上被括号圈引的列表表达式就行了,例如:  

    1 $n = &max(10,15);

    子程序中的私有变量

      默认情况,perl里面所有的变量都是全局变量,可以借助my操作符来创建私有变量,我们称之为词法变量

    1  sub max{
    2      my($m,$n);                #该语句块中的新私有变量 
    3     ($m,$n) = @_;          #将参数赋值给变量
    4      If($m>$n){$m}else{$n}    
    5  }

    改进的&max子程序

     1 $maxinum=$max(3,5,10,4,6);
     2 Sub max{
     3     my ($max_so_far) = shift @_;                   #数组中的第一个值,暂时把它当成最大值
     4     foreach(@_){                                        # 遍历数组@_中的其他元素
     5      if($_>$max_so_far){                  # 当前元素比$max_so_far更大吗
     6          $max_so_far = $_;
     7      }
     8     }
     9     $max_so_far;
    10 }

    use strict编译指令

       更严谨的代码和编译风格

    return操作符

      立即停止执行子程序并返回某个值

  • 相关阅读:
    【转载】线程数究竟设多少合理
    【转载】lvs为何不能完全替代DNS轮询
    接口测试考虑点
    隐式等待的两种写法
    邮件的操作
    Python列表排序 reverse、sort、sorted 操作方法
    兼容和适配的区别
    文件操作-oracle数据库
    初试线程-文件操作
    Selenium Grid分布式测试入门笔记
  • 原文地址:https://www.cnblogs.com/Hebe/p/4354324.html
Copyright © 2020-2023  润新知