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

Perl 列表与数组(二)

作者: PETJO | 来源:发表于2021-06-08 13:15 被阅读0次

5. 列表直接量

  • 小括号内用逗号隔开的一串数据(列表元素);
  • 范围操作符 .. 可以自动创建它两侧标量值之间的所有取值;
  • 范围操作符只能从小到大累加,从大到小空列表;
  • 列表中的元素可以是表达式。
#!/usr/bin/perl

use strict;
use warnings;

print (1,2,3);
print "\n\n\n";

print (1,2,3,);                # 逗号被忽略
print "\n\n\n";

print ("a","b","c");
print "\n\n\n";

print ("a",1,"b",2,"c",3);
print "\n\n\n";

print ();                      # 空列表 
print "\n\n\n";

print (1..10);
print "\n\n\n";

print (10..5);                 # 范围操作符从大到小,得到空列表
print "\n\n\n";

print (1.3..10.6);             # 小数点部分去掉后取范围
print "\n\n\n";

print ("a".."f");              # 字母取范围值
print "\n\n\n";

print (1,4..10,16);
print "\n\n\n";

my $m = 5;
my $n = 15;
print ($m,10);                 # 表达式当前值
print "\n\n\n";

print ($m,$n);
print "\n\n\n";

print ($m..$n);
print "\n\n\n";

6. qw简写

  • 避免反复键入引号和逗号;
  • qw表示:quoted word(用引号引用的词)或者quoted by whitespace(用空白引用的词),perl当成单引号内的字符串进行处理(qw内无法使用 \n转义字符或 $fred变量内插),空白符(如空格、制表符、换行符)被抛弃;
  • qw列表中无法进行注释;
  • 任意标点符号都可以作为定界符(delimiter)
#!/usr/bin/perl

use strict;
use warnings;

my @array = ("fred", "barney", "betty", "wilma", "dino");
print "@array\n-----\n";

my @array_qw = qw( fred barney betty wilma dino );
print "@array_qw\n\n\n";

my @array_qw1 = qw[ fred barney betty wilma dino ];
my @array_qw2 = qw# fred barney betty wilma dino #;
my @array_qw3 = qw! fred barney betty wilma dino !;
my @array_qw4 = qw[ fred barney betty wilma dino ];
my @array_qw5 = qw[ fred barney betty wilma dino ];
print "@array_qw1\n\n\n";
print "@array_qw2\n\n\n";
print "@array_qw3\n\n\n";
print "@array_qw4\n\n\n";
print "@array_qw5\n\n\n";

# 抛弃空白字符
my @array_qw6 = 
qw(
    fred    
    barney 
    betty 
    wilma 
    dino
);
print "@array_qw6 \n\n\n";

# qw列表中无法进行注释,#,\n,$等都为普通字符
my $fred = "fred";
my @array_qw7 = 
qw(
    $fred    # name
    \n
    barney 
    betty 
    wilma 
    dino
);
print "@array_qw7 \n\n\n";

7. 列表的赋值

  • 标量值可被赋值到标量变量,列表值也可以被赋值到标量变量。
  • 列表是在赋值运算开始之前建立的,因而Perl 交换两个变量的值相当容易。
  • 对列表赋值时多出来的值会被忽略掉,如果变量的个数多过给定的列表值个数,多出来的变量将会设成 undef(空列表)。
  • 列表中需要 undef可以显式写明。
  • 数组只能包含标量,不能包含其他数组,数组无法成为列表里的元素,数组名会被展开成元素列表。
  • 赋值之前数组变量的值是空列表,即 ()。
# 列表值赋值到标量变量
my($fred, $barney, $dino) = ("flinstone", "rubble", undef);
print $fred . "\n";
print $barney . "\n";
print $dino . "\n";

# 交换两个变量的值
($fred, $barney) = ($barney, $fred);
print $fred . "\n";
print $barney . "\n";

my @betty;
$betty[0] = "age";
$betty[1] = "year";
($betty[0], $betty[1]) = ($betty[1], $betty[0]);
print $betty[0] . "\n";
print $betty[1] . "\n";

($fred, $barney) = qw{ slate granite flintstone rubble }; #忽略末尾2个元素
print $fred . "\n";
print $barney . "\n";

my ($wilma, $dino1) = qw{ flintstone };    # dino的值为undef
print $dino1 . "\n";

my @rock;
($rock[0], $rock[1], $rock[2], $rock[3]) = qw{ talc mica feldspar quartz };
print "@rock\n";

相关文章

  • Perl 列表与数组(二)

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

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

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

  • Perl 列表与数组(一)

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

  • 列表和数组

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

  • Perl-2-列表与数组

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

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

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

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

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

  • Perl 数组

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

  • Perl列表及数组语法练习

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

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

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

网友评论

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

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