大家好,欢迎来到IT知识分享网。
今天我们介绍perl的另一种基础数据结构—数组。
数组, 顾名思义就是数据的组合, 数组用来存储一系列的标量值。在Perl中, 数组使用@作为标识符。
定义/申明一个数组和标量类似:
my @users;
在讲数组赋值前, 我们先引入另一个定义—列表直接量。列表直接量是用逗号分隔的一系列独立值:
("a", "b", "c"); (1, 2, 3, 5);
给数组赋值时, 我们有2种方法, 一种即使用列表直接量:
my @users = ("a", "b", "c"); my @users = qw(a b c);
以上2个是等效的, qw为Perl内置函数, 可以统一引起字符串。
在Perl中,数组中的元素是按照一定顺序来进行存放的, 因此, 我们也可以通过数组下标来给数组赋值, Perl中下标都是从0开始计算的:
my $users[0] = "a"; my $users[1] = "b"; my $users[2] = "c";
从数组中取值和赋值是一样的:
my $user1 = $users[0]; my $last_user = $users[-1];
Perl是支持负数下标的, 负数下标就是从最后一个元素开始, 反向读取。
数组的长度同样有2种常用方式:
my $length = @users + 0; my $length = scalar(@users);
具体原理后面讲数据环境的时候会解释。
常见的数组相关操作方法:
push–pop
pop和push是一组互逆的操作, push是将一个标量(也可以是数组,以及其他数据结构)放入到数组的末尾, pop则是将数组的最后一个元素取出。
my $new_user = "D"; push @users, $new_user; my $last_user = pop @users;
需要注意的是,pop取出的元素, 会从数组中删除, 通过下标来读取的元素, 仍然在数组中。
unshift–shift
push/pop是在数组的尾部来进行处理, 那么对应的在数组头部来进行处理, 我们就使用unshift/shift。
数组相关最佳实践:
数组的命名规则同标量类似, 只是数组的名称一般使用复数, 以此来和标量的单个元素进行区分。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/123821.html