您的位置:首页 > 运维架构

Perl数组: shift, unshift, push, pop

2013-09-09 09:50 525 查看

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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: