美文网首页
第4章 子程序

第4章 子程序

作者: Hannahhao | 来源:发表于2020-03-07 17:43 被阅读0次

    子程序(subroutine):用户自己创建的,以方便重复调用某段代码。

    1. 定义子程序

    关键字sub开头,再写上子程序名,然后写上花括号,封闭在其中的代码块就是子程序的主体。

    sub count_gene {
    
    }
    

    子程序可以被定义在程序中的任意位置。

    2. 调用子程序 &

    在任意表达式里,子程序名前加上与号“&”,就表示调用这个子程序:
    & count_gene;

    3. 返回值

    在Perl中,所有子程序都有一个返回值
    子程序执行过程中最后一次运算的结果会被当作返回值,
    或是使用return。

    4. 参数

    要传递参数列表到子程序里,只要在子程序调用的后面加上括在括号内的列表表达式就行。
    参数列表会被传入子程序,让子程序随意使用。Perl会自动将参数列表化名为特殊的数组变量@(类似于@ARGV),该变量在子程序执行期间有效。
    这表示子程序的第一个参数储存于_[0],第二个参数储存于
    [1],以此类推。
    参数列表总得存进某个数组变量里,好让子程序使用,Perl将这个数组叫做@_。

    5. 子程序中的私有变量

    Perl默认情况下所有变量都是全局变量。
    但可以借助my操作符来创建私有变量,称之为词法变量。
    这些变量属于封闭语句块中的私有变量。

    6. 变长参数列表(不懂)

    - 改进版的&max子程序

    - 空参数列表

    7. 用my声明的词法变量

    词法变量可以用在任何语句块内,不仅限于子程序的语句块。

    8. use strict编译指令

    use strict 编译指令是要告诉Perl内部的编译器,接下来的代码块或是程序源文件的代码应该严禁遵循优良编程风格。
    这样之后,Perl会坚持要求你声明所有新出现的变量,加上my。
    一般比整个屏幕长的程序都应该加上use strict。

    9. return操作符

    return操作符:想在子程序执行到一半时停止运行。

    - 省略 于号&:

    如果编译器在调用子程序前看到过子程序的定义,或者Perl通过语法规则判断它只能是子程序调用,就可以像内置函数那样省略与号。
    但&chomp不能省略&,因此由内置函数chomp。

    10. 非标量返回值

    子程序不仅可以返回标量值,还可以返回列表值。

    11.持久化私有变量(略)

    12. 子程序签名(略)

    相关文章

      网友评论

          本文标题:第4章 子程序

          本文链接:https://www.haomeiwen.com/subject/ozzcdhtx.html