Perl数组: shift, unshift, push, pop

  • pop

     pop函数会删除并返回数组的最后一个元素。

@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) (7被抛弃了)

     如果原数组为空,pop函数会返回undef。

  • push

 

push(@array,0);                # @array现在是(5,6,0)
push @array,8;                 # @array现在是(5,6,0,8)
push @array, 1 ..10;           # @array得到了10个新元素
@others = qw/9 0 2 1 0/;
push @array,@others;           # @array 又得到了5个新元素(共19个)
  • shift

      shift函数会让整个数组左移。设想一下,数组从左边开始。数组的第一个元素会从数组“掉下来”,并成为函数的返回值(如果数组为空,shift 会返回 undef。)

      这样操作之后,数组会减少一个元素。

@array = qw# dino fred barney #;
$m= shift(@array);                  # $m 变为dino ,@array 现在是("fred","barney")
$n= shift @array                    # $n 变为fred , @array 现在是 ("barney")
shift @array;                       # 现在@array 变空了
$o = shift @array                   # $o变成undef,@array 还是空的
  • unshift

unshift(@array,5);                        # @array现在是一个元素的列表(5)
unshift @array,4;                         # @array现在是(4,5)
@others = 1..3;         
unshift @array,@others;                   # @array 又变成了 (1,2,3,4,5)
原文地址:https://www.cnblogs.com/tjxwg/p/3309218.html