perl-总结reference
无疑,reference和deference是目前学perl中遇到的第二个麻烦。第一个是变量符号的使用,之前学的时候也是似懂非懂,迷迷糊糊的。百度看了许多教程,发现好多教程也没将明白。我也学了这么多天了,天天在想着如何理解使用它,现在算是比较懂了,所以理清一下思路
创建reference的三种方式
- 使用
\
符号来创建reference - 数组使用
[]
,哈希使用{}
来创建匿名reference - 使用
->
来创建reference
1 | #!/usr/bin/perl |
1 | ARRAY |
dereference的唯一方式
一个reference创建后,可以通过reference去取到某一个值,但是要取到全部的值,就的dereference了,并且只有这一种方式,便是在reference前加@
或%
。
区别:数组用@
,哈希用%
dereference后的好处就是可以像使用数组或者哈希变量那样来操作数据,它的使用和变量一样
这里需要注意的地方就是使用符号->
创建的reference,由于创建时最多只能指定一个值,然后这个reference就被创建了出来,由于reference的名字不能重复,所以之后添加数据需要先dereference
用reference取值的唯一方式
由于reference是一个内存地址,所以取值方式比较特殊,如果不想通过dereference后去取值的话,则使用符号->
来取值。
使用->
取值时,数组指定index索引,哈希指定key键
用到->
的地方
- 在创建reference的时候,用的比较多的方式就是通过
->
符号来创建 - 所有方式创建的reference,需要通过reference来取值的时候需要用到
->