美文网首页
Perl 持久化私有变量

Perl 持久化私有变量

作者: PETJO | 来源:发表于2021-07-05 05:44 被阅读0次

9. 持久化私有变量

  • 在子程序中用 my操作符可以创建私有变量,但每次调用子程序时,这个私有变量都会被重新定义。

  • state 操作符声明的变量可以在子程序的多次调用期间保留之前的值,并且其作用域仍局限在子程序内部。

  • 任意类型的变量都可以被声明为 state变量。

sub marine {
    my $n += 1;    #每次调用子程序时,私有变量都会被重新定义
    print "Hello, sailor number $n!\n";
}

&marine;
&marine;
&marine;
&marine;
&marine;


use v5.10;

sub marine {
    state $n += 1;    # state 声明持久化私有变量
    print "Hello, sailor number $n!\n";
}

# 任意类型的变量都可以被 state 声明
&running_sum(5, 6);
&running_sum(1..3);
&running_sum(4);

sub running_sum {
    state $sum = 0;    # state声明标量变量
    state @numbers;    # state声明数组变量

    foreach my $number (@_) {
        push @numbers, $number;
        $sum += $number;
    }

    say "The sum of (@numbers) is $sum";
}

相关文章

  • Perl 持久化私有变量

    9. 持久化私有变量 在子程序中用 my操作符可以创建私有变量,但每次调用子程序时,这个私有变量都会被重新定义。 ...

  • Java mac idea hibernate的使用02

    1. 持久化类创建 1.1 注意事项 持久化类需提供无参构造 成员变量私有,提供公有的set/get方法访问 持久...

  • Perl 子程序中的私有变量

    3. 子程序中的私有变量 Perl 随时可以借助 my 操作符来创建私有变量,称之为词法变量(lexical va...

  • JavaWeb - Hibernate框架使用(二)

    hibernate中的实体(Entity)类规则 实体类创建的注意事项持久化类提供无参数构造成员变量私有,提供共有...

  • Perl 6 中的 when 和 where

    When 可以用在主题化($_)的语句中 Perl 里面有个特殊的变量叫 $_, 即主题化变量, the vari...

  • python-私有化

    私有化变量 报错,因为__num 是私有化变量 正常,因为可以通过t.__num添加一个__num属性。 可以通过...

  • 40.私有变量、方法实现类的封装

    私有变量 私有变量或者私有属性,一般以 双下划线开头 的变量可以在class内部通过方法调用,但是不能被实例化的对...

  • Python 类的私有化

    私有化 xx: 公有变量 _x: 单前置下划线,私有化属性或方法,from somemodule import *...

  • Perl 模块 CGI::Session

    简介 在Perl的CGI程序中负责持久化 SESSION 数据。 CGI::Session 通过 HTTP 的 r...

  • python私有化和property

    私有化xx: 公有变量_x: 单前置下划线,私有化属性或⽅法,from somemodule import *禁⽌...

网友评论

      本文标题:Perl 持久化私有变量

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