Perl学习之数组和列表

介绍perl语言中列表和数组相关知识

Perl学习之数组和列表访问数组元素列表数组是储存列表的变量,列表是标量的有序集合,标量包括字符串和数字列表指的是数据,而数组指的是变量列表和数组中的每个元素都由数字索引,且都从0开始,每次加1用下标数字来引用数组元素:print $fred[0];对数组元素赋值:$fred[2]="diddley";or $fred[2] .= "tom";任何求值可得到数字的表达式均可用作下标且会自动舍弃小数,若索引超出数组范围,对应的值是undef特殊的数组索引数组中最后一个元素的索引值并赋给变量:$end = $#fred #若数组共100个元素,则$end为99负数索引值:$fred[-1] #最后一个元素,-2则指倒数第二个元素,如超出数组范围,则为undef列表和数组的赋值像变量可以赋给变量一样,列表也可以赋给变量,多出的元素会被忽略,少的元素会是undef;($fred,$dino)=(1,4,"rubble"),则字符串会被忽略引用整个数组时只需在其前面加@,我们可以想象成all of the数组如@fred@rock = qw/bderock slate lava/;@tiny = (); #空列表@giant = (1..100); #包含100个元素@quarry = (@giant,undef,@giant); #包含201个元素特殊操作符pop:取出数组中最后一个元素:$test=pop(@rock);# $test是lava,@rock还剩两个元素在perl里,只要去掉括号不影响原意,加不加都行push:添加一个元素到数组尾端如push(@rock,0); #在后面加个0,也可以是一个数组或标量类似的,shift为取出数组第一个元素,unshift为将元素加到数组的第一个的位置splice,拥有四个参数,前两个必选为数组和开始操作的位置,后面一次为操作长度和要替换的元素;@removed = splice @rock ,1,0,@giant; #@removed变为空数组,@rock从第二个元素开始增加了数组giant的元素字符串中的数组内插与字符串中标量内插类似值得注意的是,索引表达式会被当成普通的字符串处理,即使是算式也不会计算其值reverse:读取数组或列表的值并按相反的顺序返回:@fred=reverse @fred #将逆反后的数组放回原数组sort:读取数组或列表,根据内部的字符编码顺序对他们进行排序列表直接量是程序中表示一列数据的写法,可以用括号内用逗号隔开的元素表示,如果元素是字符串,要用双引号圈起来例子(1,“betty”,$m,1..5,$q+$p)#范围操作符..会从左边的数字记到右边,每次加1;$q+$p指两个变量的当前值相加qw(quoted word加引号的单词)简写,perl会将其当成加单引号的字符串来处理,所以不能直接用$q或\n,其中元素间的空白字符(空格,制表符,换行符)会被抛弃,qw(fred 1 4)
本文由MindMaster用户 Yer 发布,不代表亿图软件立场,如转载,请注明出处:https://mm.edrawsoft.cn/community/
立即使用
分享 |
收藏
|
9

相关模板推荐