Chinaunix首页 | 论坛 | 博客
  • 博客访问: 134106
  • 博文数量: 21
  • 博客积分: 576
  • 博客等级: 中士
  • 技术积分: 319
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-23 16:19
个人简介

没评论

文章分类

全部博文(21)

文章存档

2013年(1)

2012年(20)

我的朋友

分类: Python/Ruby

2012-05-24 17:31:42

列表(list)指的是标量(scolar)的有序集合,而数组(array)则是存储列表的变量。即列表指的是数据,而数组指的是存储这些数据的变量。列表的值不一定放在数组里,但每个数组一定包含一个列表(当然这个列表也可能是空的)。数组以整数作为索引,第一个索引值为0

可以用下标数字来访问数组,如$fred[0]。任何求值可以得到数字的表达式都可以用作下标。假如它不是整数,则会自动舍去小数。如果下标没有对应的值,则会返回undef

 注意:索引表达式中的变量如果是字符串,会按字符串转换成数字的规则来进行转换。举例说明:$y包含字符串"2*4"$fred[$y-1]$fred[1],因为2*4看做数字时为2

特殊的数组索引值

数组$fred$#fred表示最后一个元素的索引值,$fred[-1]表示最后一个元素。

 

列表直接量

"fred",4.5    #包含"fred""4.5"两个元素

(1..100)          #1100的整数列表

这里用到的范围操作符“..”的作用:从左边的数字计数到右边,每次加1,从而产生一连串的数字。举例如下:

(1.7..5.7)     #相当于(1,2,3,4,5),两个数字的小数部分会被去掉

5..1     #空列表,..只向上计数

$m..$n   #$m$n的列表

 

qw简写

可以用qw来建立简单的单词列表: qw( fred barney betty Wilma dino)

这样的表达方式更简洁,其中的空白符号会被忽略。除了圆括号外,可以使用其它的任意标点符号来做定界符。

 

poppush操作符

pop操作符用来去除数组中的最后一个元素,同时返回该元素值。用法:pop @array

push操作符用来在数组末尾增加元素,同时返回追加后的数组元素个数。用法:push @array,@array2   push @array,xyz   push (@array,xyz)

shiftunshift作用类似于poppush,只是作用在数组的最开头。

 

Splice操作符

用于在数组中间进行元素操作。它包含4个参数:

数组名 开始位置 操作长度(可选)        替换列表(可选)

Splice @array,1,2,qw/ wilma /; #移出数组@array的第2和第3个元素,并在此插入wilma

注意:这里的开始位置指的是索引值。

 

Reverse操作符

Reverse操作符会读取列表的值,并按相反的次序返回该列表。

 

字符串中的数组内插

双引号内的数组内插时,各元素间会被自动加入空格。

标量上下文和列表上下文

perl中表达式会按照上下文要求返回对应的值。如数组在标量上下文中返回的是数组的元素个数,在列表上下文中返回的是元素列表。

在列表上下文中强制指定标量上下文,如:

Print "I have ", scalar @rocks, "\n";   # scalar在这里的作用就是强制指定@rocks为标量

阅读(669) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~