导图社区 perl学习之列表和数组2
Perl,一种功能丰富的计算机程序语言,运行在超过100种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发。本思维导图是关于perl语言中列表与数组部分内容,赶快收藏学起来吧!
社区模板帮助中心,点此进入>>
perl学习之列表和数组2
foreach循环
对整个数组进行处理,逐项遍历其中的值,依次迭代
eg:@rocks=qw/bedrock slate lava/; foreach $rock (@rocks){ #遍历数组并赋值给变量 $rock .= "\n" #对数组中元素进行操作 }; #会给每个元素加上换行符 print @rocks; #变量$rock本身不变
默认变量$_
如果在foreach循环中省略变量$rock,perl会自动将数组中的值赋给变量$_,则循环内对$_进行操作即可
while循环
只要条件持续为真就会不断执行代码块
each操作符,每次对数组调用each,会返回数组下一个元素的索引及其对应的值
标量上下文与列表上下文
概念:同一个表达式出现在不同的地方,即不同的上下文里会有不同的意义
eg:@people=qw/fred barney betty/; @list = @people;#得到三个人的姓名列表; $n = @people; #得到人数 3
在标量上下文中使用产生列表的表达式
如reverse,在列表上下文中,返回逆序后的列表,在标量上下文中,返回逆序后的字符串
eg:@backward=reverse qw/yabba dabba doo/;#得到doo,dabba,yabba $backward=reverse qw/yabba dabba doo/;#得到oodabbadabbay
在列表上下文中使用产生标量的表达式
这个其实要看些这个语言的作者是这么想并且怎么说明的
这种情况比较简单,如果表达式求值结果为标量,则自动产生一个仅含此标量的列表
列表上下文中的STDIN
STDIN在标量上下文中会返回输入数据的下一行,在列表上下问中会返回所有剩下的行,返回的每一行包括换行符都会成为元素的内容
chomp可以帮助我们一次性把所有换行符去掉,chomp(@lines=<STDIN>)#读入所有的行,换行符除外
强制指定标量上下文
伪函数scalar,告诉perl这里要切换到标量上下文
eg:print scalar @rocks; #将大金出数组中元素的个数