zoukankan      html  css  js  c++  java
  • 【Perl学习笔记】列表和数组

    最近在弄WikiDump,发现Dump的解析工具都是Perl写的,没办法,只能开始啃Perl。下面是一些读书笔记,主要看的是小骆驼《Perl 语言入门》和《C程序员精通Perl》

    ---------------------------------------------------------------------------------------------------------

    @ARGV数组

    这是个由perl解释器事先建立的特殊数组,其内容就是调用参数所组成的列表。它和其他列表没有不同,只是在程序开始运行时里面就已经塞满了调用参数的列表。

    访问数组中元素

    建立数组如下:

    $rocks[0] = "yabba";
    $rocks[1] = "dabba";
    $rocks[2] = "doo";

    使用下标取值:

    print $rocks[0];

    神奇的地方是:如果你用了非整数作为下标,Perl会给你自动的舍去小数点。如下例中结果就是和fred[1]一样。

    $number = 2.71828;
    print $fred[$number-1];

    如果索引超出数组的尾端,则相应的值将会是undef。这点和一般的标量相同,如果从来没有对标量变量进行过赋值,它的值就是undef。

    最后一个元素的索引:

    $end = $#rocks;
    $number_of_rocks = $end +1;

    列表直接量

    (1,2,3)        #包含1、2、3三个数字的列表
    (0,2..6,10) #相当于(0,2,3,4,5,6,10)
    (5..1) #空列表:..只会“向上”计数

    qw简写
    qw是“加上引号的单词”或“把空白当成引号”的简写,qw由界定符框定,界定符可以是任何一种。如:

    qw! fred barney betty wilma dino !
    qw[ fred barney betty wilma dino ]


    Shift 和 unshift 操作

    shift和unshift操作的是数组的“开头”。

    @array = qw                # dino fred barney #
    $x = shift(@array); # $x 变成“dino”, @array现在是(“fred”, “barney”)
    $y = shift @array; # $y 变成“fred”, @array现在是(“barney”)
    shift @array; # @array为空
    $z= shift @array; # $z变成undef
    unshift(@array, 5); #@array现在是包含一个元素的列表(5)
    @others = 1..3;
    unshift @array, @others; # @array现在是(1,2,3,5)

    pop 和 push 操作

    与shift和unshift相反,pop 和 push 操作的是数组的“结尾”。

    @array 5..9;
    $fred = pop(@array); # $fred变成9,@array为(5,6,7,8)
    $barney = pop @array; # $barney变成8,@array为(5,6,7)
    pop @array #@array(5,6)
    push(@array,0) # @array(5,6,0)
    push @array, 1..2; # @array(5,6,0,1,2)






  • 相关阅读:
    c++语法(2)
    c++语法(1)
    前端之 BOM和DOM
    JavaScript
    CSS属性相关(续)
    CSS属性相关
    CSS选择器
    前端之CSS
    HTML常用标签
    HTML介绍
  • 原文地址:https://www.cnblogs.com/xiaoka/p/2291861.html
Copyright © 2011-2022 走看看