大家好,欢迎来到IT知识分享网。
上节,我们讲了perl语言中的标量,这节我们继续讲perl预研的列表和数组。
1、列表是什么?
列表是标量的有序集合。比如(1,2,3),这是一个有3个元素的列表,再比如,(1..100),这是一个有100个元素的列表,这里的..叫做范围操作符,表示从1到100连续的数字集合。
图1.列表是什么?
有时候,我们想要将一群人的英文名字做成一个列表,但是英文名字是一个字符串,比如cherry,这是一个字符串,我们希望它在列表中表示一个完整的元素,怎么办呢,这里就要说到单词列表,可以这样表示(“cherry”,“tom”,“Jerry”),这个表示一个含有3个元素的单词列表,这时候可能会有人说,还要写双引号,好麻烦(楼主就是这样一个懒人)。perl提供了一个功能,用qw+定界符完成单词列表的建立,比如:qw(cherry Tom Jerry),和上面带引号的列表是一样的意思。
qw会将定界符中列表里的空白字符全部抛弃,所以,我们用qw建立单词列表的时候,就可以非常随意了,比如:
qw(cherry
tom
Jerry )
这个例子和上面提到的单词列表是一样的。
同样的,定界符也可以多种多样,只要定界符前后对应即可,如图2.
图2.单词列表
2、数组是什么?
数组是存储列表的变量,和前文提到的变量命名规则相同,和标量变量的区别是,数组变量以@开头,以$array[]进行数组访问,如图3。
图3.数组
3、列表与数组的赋值
图4.列表与数组的赋值
4、数组的操作
① 新增和删除元素
图5.数组新增和删除元素
② 数组的内插、反向和排序
图6.数组的内插、反向和排序
③ 数组的遍历
图7.数组的遍历
5、标量 & 列表上下文
最后,我们聊一下perl通过上下文自动识别标量或列表类型,在程序中,同时遇到了列表或标量,perl会根据该句程序的上下文判断这个地方应该是按照标量进行运算还是按照列表进行运算,比如“42+@array”这个表达式,@array会被当做一个标量进行运算,而不是列表,假如@array中有3个元素,则,42+@array=45.
图8.标量 & 列表上下文
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/123852.html