美文网首页
Perl 列表与数组(一)

Perl 列表与数组(一)

作者: PETJO | 来源:发表于2021-05-23 22:00 被阅读0次

1. 理解含义

  • 列表(list):标量的有序集合。

  • 数组(array):存储列表的变量。

2. 列表与数组的异同

  • 列表指的是数据;数组指的是变量;
  • 列表不一定要放在数组里,数组变量一定包含一个列表。
  • 数组或列表中的每个元素(element)都是独立的标量变量,拥有独立的标量值。
  • 数组或列表可以包含任意多个元素,元素的次序是固定的,都有相应的整数作为索引,索引从0开始,之后的每个元素依次加1。

3. 访问数组元素

  • 数组的名字空间(namespace)和标量的名字空间是完全分开的。

  • 通过下标数字(subscript)访问数组元素,下标超出数组尾端,对应的值为undef。

  • 任何求值能得到数字的表达式都可以用作下标,不是整数则会自动舍去小数,无论正负。

  • 支持双引号字符串中的数组变量内插。

    • 默认空格分隔数组元素,通过 $" 变量设定分隔符

4. 特殊数组索引

  • 对超过数组尾端的下标进行赋值,数组自动扩大,空洞中的为undef。
  • 数组最后一个元素的索引值是$#array_name,这个数字比数组元素的个数少1,因为还有一个编号为0的元素。
  • 用负数作下标,返回尾端开始的元素,下标-1表示最后一个元素。
#!/usr/bin/perl

use warnings;
use strict;

# 数组变量
my @fred = ("yabba","dabba","doo");

# 标量变量
my $fred = "diddley";

# 数组的名字空间和标量的名字空间是完全分开的
print @fred;
print "\n\n";

print $fred;
print "\n\n";

# 通过下标数字访问数组元素
print $fred[0];
print "\n\n";

# 下标超出数组尾端,对应的值为undef
# Use of uninitialized value in print at list_array.pl line xx.
print $fred[3];
print "\n\n";

# 任何求值能得到数字的表达式都可以用作下标,不是整数则会自动舍去小数,无论正负。
my $number = 2.1234;
print $fred[$number - 1];    # 结果与print $fred[1]相同
print "\n\n";

# 支持字符串中的数组内插
print @fred;
print "\n\n";

print "@fred";    # 默认空格自动分隔数组元素
print "\n\n";

# $" 设定分隔符
$" = ":::";
print "@fred";
print "\n\n";

# 创建空数组,添加数组元素
my @fred1 = ();
$fred1[0] = "yabba1";
$fred1[1] = "dabba1";
$fred1[2] = "doo1";

# 超过数组尾端的下标进行赋值,数组自动扩大,空洞中的为undef
$fred1[99] = "diddley1";
print $fred1[99];
print "\n\n";

# Use of uninitialized value in print at list_array.pl line xx.
print $fred1[98];
print $fred1[97];
print $fred1[96];
print $fred1[95];
print $fred1[94];
print "\n\n";

# 数组最后一个元素的索引值是$#array_name
print $fred1[$#fred1];
print "\n\n";

# 用负数作下标,返回尾端开始的元素,下标 -1表示最后一个元素
print $fred1[-1];
print "\n\n";

print $fred1[-2];    #undef
print "\n\n";

相关文章

  • Perl 列表与数组(一)

    1. 理解含义 列表(list):标量的有序集合。 数组(array):存储列表的变量。 2. 列表与数组的异同 ...

  • Perl 列表与数组(二)

    5. 列表直接量 小括号内用逗号隔开的一串数据(列表元素); 范围操作符 .. 可以自动创建它两侧标量值之间的所有...

  • 列表和数组

    Perl里的列表和数组用于表示复数。列表是指有序集合,数组是存储列表的变量。数组和列表里每个元素都是独立互不相关的...

  • Perl学习笔记2——列表与数组

    列表和数组的概念与性质 列表是Perl中的第二种数据结构,是一组标量的有序集合。数组是存储列表的容器,是一种可以存...

  • Perl-2-列表与数组

    一、简介 列表:标量的有序集合 数组:储存列表的变量区别:列表指的是数据,数组指的是变量,列表的值不一定要放在数组...

  • 2020-08-21 列表,数组,哈希嵌套

    列表,数组和哈希的嵌套Perl的数据结构中最常用到的两种类型数组和哈希。 什么是数组(Perl语言入门(第五版)的...

  • Perl 数组

    Perl 数组一个是存储标量值的列表变量,变量可以是不同类型。数组变量以 @ 开头。 创建数组 添加或删除数组元素...

  • 07.Perl -- 命令行参数 ARGV

    $0 表示正在运行的perl脚本名 命令行参数 ARGV perl将命令行的参数列表放入 数组ARGV(@ARGV...

  • Perl列表及数组语法练习

    1. 读入一些字符串(每行一个),直到文件结尾。然后,以相反的顺序输出这个列表。 2. 读入一些数字(每行一个),...

  • Perl 6 中列表、序列和数组

    列表一直是计算机的核心部分,因为之前有计算机,在这段时间里,许多恶魔占据了他们的细节。 它们实际上是 Perl 6...

网友评论

      本文标题:Perl 列表与数组(一)

      本文链接:https://www.haomeiwen.com/subject/tpxtsltx.html