zoukankan      html  css  js  c++  java
  • Perl入门 笔记4之 子程序

    定义子程序

    关键字sub

    例如:

    sub func

    {

      $n+=1;

    }

    c++不同的地方:在子程序里定义的变量$n属于全局变量,并且对于变量的位置没有要求,但是c++偏向于将子程序放在主函数的前面声明和定义,但是perl没有限制。

     

    调用子程序

    使用关键字符&

    例如

    &func; #n的值这时为1

    &func; #n的值这是为2

     

    返回值

    两种方式:缺省方式返回和关键字return

    缺省方式:把子程序中最后一句表达式作为返回值

    例如在funcn的值就是返回值

    return方式 :用return关键字显式的标记返回值,立即返回,与c++相同

     

    参数

    传递参数:&func(1,10);#110就是这个子程序的实际参数

    c++的不同:定义时,没有形参列表。

    子程序会自动将参数传入一个名为@_的数组,并且$_[0]表示第一个参数,依次类推

    注意$_和$_[0]没有什么关系

    值传递:?有没有类似引用形参这样的概念

    例如:

    sub max

    {

      if($_[0]>$_[1]){

         $_[0];

    }

    else{

       $_[1];

    }

    }

    调用:&max(2,3);

     

     

    子程序的私有变量

    关键字:my

    sub max{

      my($m,$n);#mn为私有变量,生命周期只是存在于花括号内

    }

     

    use strict 编译命令

    这样perl会要求你一定要用my来声明每个新的变量

    如果没有my的限制,则编译的时候会产生fetal error

     

    持久性私有变量

    关键字:state

    变量的作用域始终确定在子程序中,并且可以保留变量的值,有点static的意思

  • 相关阅读:
    vuex最简单、最详细的入门文档
    详解vue生命周期
    Js基础算法题
    Git常用命令
    webpack构建React开发环境
    React快速构建脚手架
    打开页面开始倒计时
    Yahoo前端35条性能优化
    特殊引用类型(string)
    What is in your backpack?
  • 原文地址:https://www.cnblogs.com/cherri/p/1932602.html
Copyright © 2011-2022 走看看