简单的perl学习笔记2_perl的面向对象与引用

perl

    在菜鸟教程网站,perl简介里面有一句话(http://www.runoob.com/perl/perl-intro.html):
    在统一变量类型和掩盖运算细节方面,Perl做得比其他高级语言(如:Python)更为出色。

    学了一整天之后发现这句话好像不对!我觉得perl比python明显更偏底层!
    在python与javascript里,从来不需要考虑对象的地址,但perl就不得不时常考虑.

    从perl的变量其实就可以看出来了.变量的定义,使用总是有个前缀的,3种基本类型:$,@,%
    我的理解是,变量是后面的字母,前缀是用来指定理解方式的.
    比如:$r=1;
    那么保存在r里面的就是1.
    但它与c语言里面的: int r=1;不同.在c里面,这就简单的分配了一个32位空间,数值是1.
    而在perl当中,标量是最最最基本的数据类型,它应该是一个对象.不但保存了基本数据,而且还保存了附加信息.这种附加信息包括了引用类型(如果有的话).
    比如:@arr=(1,2,3);
    那么arr保存的应该是数组的地址.但不允许直接访问arr的,必须有前缀.如果要用它的地址,也就是"引用"啦,必须写作 $r=\@arr.这里r变量不但保存了地址,同时还保存了自己的引用类型是一个数组,所以ref($r)才能返回ARRAY嘛,如果像c一样,只保存地址,谁知道是什么地址呢?因为保存了引用类型,所以一旦引发了错误的引用,就会报错.

    煮饭了,面向对象部分迟些再写.

相关推荐

  • php中引用&的真正理解-变量引用、函数引用、对象引用 php中引用&的真正理解-变量引用、函数引用、对象引用php的引用(就是在变量或者函数、对象等前面加上&符号)//最重要就是删除引用的变量,只是引用的变量访问不了,但是内容并没有销毁在PHP中引用的意思是:不同的名字访问同一
  • 【原创】SQL2005错误:未将对象引用设置到对象的实例 情况:在WindowsServer2008中安装SQLServer2005,在SQLServerManagementStudio中右键打开/设计表时出错:未将对象引用设置到对象的实例。原因:最大可能是Framework2.0出错。解决:由于
  • 未将对象引用设置到对象的实例解决方案 一、网络上的一般说法1、ViewState对象为Null。2、DateSet空。3、sql语句或Datebase的原因导致DataReader空。4、声明字符串变量时未赋空值就应用变量。5、未用new初始化对象。6、Session对象为空。
  • php中引用&的真正理解-变量引用、函数引用、对象引用 本文转载自:http://www.cnblogs.com/thinksasa/p/3334492.htmlphp的引用(就是在变量或者函数、对象等前面加上&符号)//最重要就是删除引用的变量,只是引用的变量访问不了,但是内容并没有销
  • JAVA对象引用与垃圾收集 影子引用java.lang.ref.PhantomReferencePhantomReference主要是用来取代对象的finalize()。程序员利用finalize()来进行释放资源的同时,有可能不小心让此对象再度拥有DirectRef
  • PHp引用,函数引用,对象引用(初学者必看) 收集整理:第二教育资源网在PHP中引用的意思是:不同的名字访问同一个变量内容.与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址变量的引用PHP的引用允许你用两个变量来指向同一个内容[php]$a="ABC"
  • 第十三章 Perl的面向对象编程 第十三章Perl的面向对象编程http://net.pku.edu.cn/~yhf/tutorial/perl/perl_13.html第十三章Perl的面向对象编程 一、模块简介二、Perl中的类三、创建类四、构造函数实例变量五、方法六、
  • Perl的面向对象编程(写自己的pm) 最近想把一些perl常用的函数写成一个自己的库函数,以方便自己调用,于是学习了下Perl的面向对象编程,即写自己的pm,一个pm就类型C++里面的类,里面有些方法,可以通过pm的名字来调用。学习总结:1、XXX.pm文件里面的第一行要是:p
  • Perl教学 第十三篇 Perl的面向对象编程 本章介绍如何使用Perl的面向对象编程(OOP)特性及如何构建对象,还包括继承、方法重载和数据封装等内容。一、模块简介模块(module)就是Perl包(pachage)。Perl中的对象基于对包中数据项的引用。(
  • 第十二章 Perl的面向对象编程 本章介绍如何使用Perl的面向对象编程(OOP)特性及如何构建对象,还包括继承、方法重载和数据封装等内容。一、模块简介模块(module)就是Perl包(pachage)。Perl中的对象基于对包中数据项的引用。(引用见第x章引用)。详见h
  • Perl的面向对象编程_Perl模块 一、模块简介  模块(module)就是Perl包(pachage)。Perl中的对象基于对包中数据项的引用。  在用其它语言进行面向对象编程时,先声明一个类然后创建该类的对象(实例),特定类所有对象的行为方式是相同的,由类方法确定,可以通
  • 黑马程序员 Java之面向对象(一)  封装 -------android培训、java培训、期待与您交流!----------自己平常总结的有关知识点,来看看吧。什么是面向对象?面向过程?无论面向过程还是面向对象都是一种解决问题的一种方式。面向过程与面向对象区别?面向过程注重的是动作

你的评论

就没有什么想说的吗?

最新博客

关于我们 加入传客 媒体报道 帮助中心 传客活动 免责声明 联系我们 移动版 移动应用

©2017传客网    琼ICP备15003173号-2    

本站部分文章来源于互联网,版权归属于原作者。
本站所有转载文章言论不代表本站观点,如是侵犯了原作者的权利请发邮件联系站长(weishubao@126.com),我们收到后立即删除。
站内所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!

X