zoukankan      html  css  js  c++  java
  • perl语言入门总结-第4章-子程序

     子程序定义和返回值

    sub sum{
        print "调用了子程序
    ";
        $a + $b; #后一行为返回值
    }
    $a=1;
    $b=33;
    $s =∑ #34 调用子程序

      子程序中的参数,参数固定(下面例子只能2参数),程序第一个参数为$_[0],第二个为$[1],依次类推

    sub max {
        if($_[0] > $_[1] ){
            $_[0];
        }else{
            $_[1];
        }
    }
    
    $n = & max(10,15); #结果为15

    子程序中私有变量

    sub max {
        my($m,$n) = @_;
    }

    限制参数长度

    sub max{
        if(@_ != 2){
            print "waring! &max arguments not match"
        }
    }

    变长参数列表

    sub max {
        my($max_num) = shift @_; #数组中的第一个值
        foreach (@_){
            if($_ > $max_num){
                $max_num = $_;
            }
        }
        $max_num;
    }
    
    $maximum = &max(1,6,10,5,60,9);
    print $maximum

    关于my变量

    my($num) = @_; #列表上下文
    my $num = @_; #标题上下文
    my(a,b) = @_;

    最好使用 use strict;

    use 5.012 #自动加载strict编译指令

    return操作符

    如果像在子函数,foreach提前结束可使用return操作符。

    省略&与号

    一般情况可省略, 如果像定义了与内置函数同名,如chomp,则不能省略,调用必需为&chomp;

    非标题返回值

    sub sum{
       1..10;
    }

    持久性私有变量state , 如果在strict模式下,使用全局变量会报错。

    use strict;
    use feature qw(state); 
    
    sub marine{
        state $n = 0;
        $n += 1;
        print "$n
    ";
    }
    
    &marine; #1
    &marine; #2
    &marine; #3

       

  • 相关阅读:
    vue初级 总结
    defineProperty和defineProperties介绍
    vue的生命周期
    将组件拼装使用
    Android和Html的简单交互
    Android接口回调的理解
    Android设计模式—— 观察者模式(以及EventBus的简单使用)
    Android Span的简单使用
    Android7.0打开sdacrd图片问题
    打开图片无缩略图错误
  • 原文地址:https://www.cnblogs.com/qinzb/p/9185459.html
Copyright © 2011-2022 走看看