perl语言——列表、数组
1.数组\列表
如果perl语言中的标量是单数(singular),那么复数(plural)用列表或数组表示。
1.1 数组和列表
perl中,列表表示一组标量的有序集合。数组是用来保存列表的变量。但这两个术语常常混用。
1.2 数组变量@array、数组索引$array[i]
数组变量:用 @变量名来表示数组整体,比如 @array。
数组索引:用**$变量名[index]**来索引数组内元素,比如$array[0] = 1;.
注意这里用的是中括号【】
数组的命名空间和标量的命名空间完全分开,所以数组@array和变量$array的是不同对象,在程序中同时定义这两个对象是合理的。
1 |
|
数组的长度理论上来说无限的,比如 $array[10000] = 0;这样数组array的长度就是10001个。
1.3 特殊的数组索引值 $#数组名\负索引
$#数组名 表示数组最后一个元素的索引,它比数组个数小1,因为索引从0开始。
$#数组名+1 表示数组大小。
负索引:比如-1表示最后一个,-2倒数第二个…………
1 |
|
1.4 数组赋值qw//,列表直接量
除了上面的对数组的单个元素赋值,还可以用以下的方法
1 |
|
用括号()标出来、中间用都好隔开的叫列表直接量,里面数字、字符可以混合
1 |
|
qw//是用来建立单词列表的。其中的斜杠是定界符,可以换成!! ## () {} [] 这些都可以
1.5 列表给变量赋值
列表给变量赋值的时候按照顺序对应。
1 |
|
1.6 push\pop 在数组尾添加、删除元素
1 |
|
1.6 shift\unshift 从开头移除、添加元素
语法与上面相同
1 |
|
1.7 splice 从数组中间移除某些元素
前面的都是从开头或结尾操作,splice可以从中间操作数组。
splice最多有四个元素,至少有前两个
数组对象
- 开始的索引位置。如果只有这两个,那么splice将索引及其以后的元素移除,
- 长度,移除多少个元素
- 替换的列表。移除了一些元素,可以再补上一些
1 |
|
1.8 reverse\sort
reverse以反序返回数组
sort 返回以字符编码顺序排序的结果,不会改变数组。
1.9 foreach 、默认$_变量
1 |
|
1.10 标量上下文和列表上下文
同一个表达式出现再不同上下文中意义不同,比如数组@array,有时表示数组所存的列表,有时表示数组中元素个数。
一个表达式、变量或数组到底表示什么意思,其决定性因素的是操作符。,比如:
1 |
|
强制指定标量上下文,用scalar伪函数
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!