perl静态变量
state操作符功能类似于C里面的static修饰符,state关键字将局部变量变得持久。
state也是词法变量,所以只在定义该变量的词法作用域中有效,举个例子:
#!/usr/bin/perl
use feature 'state';
sub PrintCount{
state $count = 0; # 初始化变量,由于静态变量,所以每次count都是同一个,会保存上次的值
print "counter 值为:$count\n";
$count++;
}
for (1..5){
PrintCount();
}
以上程序执行输出结果为:
counter 值为:0
counter 值为:1
counter 值为:2
counter 值为:3
counter 值为:4
perl静态变量的更多相关文章
- PHP 面向对象编程和设计模式 (2/5) - 静态变量、属性和方法及延迟绑定
PHP高级程序设计 学习笔记 2014.06.10 Static(静态)关键字用来定义静态方法和属性,static 也可用于定义静态变量以及后期静态绑定. 1.静态变量 static variable ...
- [转]Android静态变量的生命周期
原文地址:https://my.oschina.net/jerikc/blog/137207 Android是用Java开发,其静态变量的生命周期遵守Java的设计.我们知道静态变量是在类被load的 ...
- QT,静态变量要记得初始化
//DbUtil.h #ifndef DBUTIL_H #define DBUTIL_H using namespace std; QString md5Encode(QString passwd); ...
- .NET静态变量与静态方法并发的问题
我们知道,静态变量与静态方法都是在程序编译的时候就定义好了的,并且不会存在多个副本.所以对于静态变量来说,一旦修改了就会影响全局. 因此,静态变量是存在并发性问题的,所以当我们在操作静态变量的时候需要 ...
- JAVA的静态变量、静态方法、静态类
静态变量和静态方法都属于静态对象,它与非静态对象的差别需要做个说明. (1)Java静态对象和非静态对象有什么区别? 比对如下: 静态对象 ...
- 关于C#静态变量初始化问题
关于这个静态变量,平时自己没有太认真的去认识.最近调项目的bug,让我重新认识了静态变量的特点. 其实,我们一直都在说:静态变量只在类第一次初始化的时候进行初始化,以后都不初始化. 很简单的一句话,但 ...
- android 尽量不要使用static静态变量
使用静态static静态变量潜在性问题: 1.占用内存,并且内存一般不会释放: 2.在系统不够内存情况下会自动回收静态内存,这样就会引起访问全局静态错误. 3.不能将activity作为static静 ...
- Java代码执行顺序(静态变量,非静态变量,静态代码块,代码块,构造函数)加载顺序
//据说这是一道阿里巴巴面试题,先以这道题为例分析下 public class Text { public static int k = 0; public static Text t1 = new ...
- Java---类加载机制,构造方法,静态变量,(静态)代码块,父类,变量加载顺序
直接上代码: 代码1: public class ConstroctTest { private static ConstroctTest test = new ConstroctTest(); // ...
随机推荐
- 第八十篇:Vue购物车(一) 购物车基本框架
好家伙,又是购物车 来吧,这是参照黑马的课程写的一个购物车 目录结构如下: 1.首先组件导入, Counter.vue <template> <div class="num ...
- Can't pickle local object '_createenviron.<locals>.encodekey'报错解决
关于selenium传参报错问题,用下面是报错信息: Traceback (most recent call last): File "D:/code/read_book/main.py&q ...
- 流媒体协议扫盲(rtp/rtcp/rtsp/rtmp/mms/hls)
RTP 参考文档 RFC3550/RFC3551 Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议.RTP协议详细 ...
- 【Android 逆向】ARM switch 逆向
#include <stdio.h> int switch1(int a, int b, int i){ switch (i){ case 1: return a + b; break; ...
- 066_末晨曦Vue技术_过渡 & 动画之多个元素的过渡
多个元素的过渡 点击打开视频讲解更加详细 我们之后讨论多个组件的过渡,对于原生标签可以使用 v-if/v-else.最常见的多标签过渡是一个列表和描述这个列表为空消息的元素: <transiti ...
- docker学习笔记一-docker安装与卸载
环境查看 # 1 查询当前centOS的版本,官方要求版本为7以上 uname -r 查询系统内核 cat /etc/os-release 系统版本 安装 # 1.卸载旧版本 yum remove d ...
- 坚守自主创新,璞华HawkEye IETM系统惠及国计民生
可上九天揽月,可下五洋捉鳖,这是我们很多年的梦想.而要实现这样的梦想,不仅需要安全可靠的技术装备,还需要让这些技术装备处于良好的维保状态.于是,作为装备维保过程中必须的知识创作.管理.发布.浏览工具, ...
- 在Windows Server 2019上安装edge浏览器
在Windows 2016和2019的正式版本中是不带Edge浏览器的.有些工具.网站也不支持IE浏览器了.对于偶尔需要在服务器上访问这些站点的管理员来说有些不方便.不过可以通过安装三方浏览器或者Ed ...
- Windows 10 Technical Preview 屏幕亮度
下载了 Windows 10 Technical Preview 安装好之后都挺正常的,就是显卡驱动没有, 联上网络, 自动找到驱动,看起来一切都挺好的. 但是重启之后,屏幕就变得特别暗了, 亮 ...
- 使用 APM 中的 Service Map 了解和调试应用程序
文章转载自:https://blog.csdn.net/UbuntuTouch/article/details/118667839