我如何删除数组的第一个五行? [英] How do I remove the first five elements of an array?

查看:120
本文介绍了我如何删除数组的第一个五行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  @array = QW(一二三四五六七八);
<这里有些命令>
打印@array;


解决方案

下面几种方法,在哑的递增顺序:

使用

  @array = @array [5 .. $#数组]

使用 拼接

 拼接@array,0,5;

使用

 为1..5转变@array;

使用 的grep

 我的$ CNT = 0;
@array = {grep的$ ++ CNT> 5} @array;

使用 地图

 我的$ CNT = 0;
@array = {地图++ $ CNT< 5? ():$ _} @array;

我敢肯定好得多黑客比我能想出甚至笨的方法。 :)

@array = qw(one two three four five six seven eight);
<Some command here>
print @array;

解决方案

Here are a few ways, in increasing order of dumbness:

Using a slice:

@array = @array[ 5 .. $#array ];

Using splice:

splice @array, 0, 5;

Using shift:

shift @array for 1..5;

Using grep:

my $cnt = 0;
@array = grep { ++$cnt > 5 } @array;

Using map:

my $cnt = 0;
@array = map { ++$cnt < 5 ? ( ) : $_ } @array;

I'm sure far better hackers than I can come up with even dumber ways. :)

这篇关于我如何删除数组的第一个五行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆