Perl读书笔记(2)

Learning Perl 6th

Chapter 3 and Chapter 4

1、List是Scalar变量的有序集合,Array是List集合所对应的具体变量(List是数据,Array是对应的存储空间)。

2、与Python类似,Perl的List中变量可以是不同的Scalar元素。

3、Array的定义、下标访问如下:

4、当访问下标越界时候,会返回undef。

5、当向越界下标赋值时,数组会自动拓展,中间未赋值的下标位置是undef

中间被自动扩充的部分,用undef替换。

结果如下:

6、获取数组长度的3种方法:

(1)将数组变量存储到scalar变量中:

(2)也可以强制使用scalar的context

(3)再或者,使用$#array,这个元素是数组最后一个元素的下标,它加1即为数组长度。

7、与Python类似,可以使用下标-1获取最后一个元素。

8、快捷操作符..定义区间数组

甚至可以混合使用,例如定义数组(1,2,3,7,11,12,13):

9、快捷方式qw,使用它,可以快速构造字符串的数组。

结果为:

10、数组的赋值:

首先,数组的常量形式为圆括号括起来的部分:

与其他语言类似,我们可以在等号左边直接将数组打散为数量相等的scalar变量。

在数组中嵌套数组,表示将数组打散,注入到新数组中:

11、数组之间的拷贝,注意拷贝是属于deep copy,即内存拷贝。不是只拷贝引用。

 

12、如何向数组的最右端中插入元素,移除元素:

一个例子如下:

13、上述的push、pop都是作用在数组最右端,如何操作最左端呢?

需要使用unshift(插入)和shift(弹出)。

14、上面的4个操作都是在数组头、尾进行,如何删除、添加数组中间的元素呢?

可以使用splice。

 

 

Leave a Reply

Your email address will not be published.