程序员的知识教程库

网站首页 > 教程分享 正文

perl基础——数组(perl里怎么对数组实现一次遍历)

henian88 2024-10-27 10:06:21 教程分享 7 ℃ 0 评论

今天我们介绍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。


数组相关最佳实践:

数组的命名规则同标量类似, 只是数组的名称一般使用复数, 以此来和标量的单个元素进行区分。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表