• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

perl-splice

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

函数splice的用法

格式
splice(@array,offset,length,list)      #在数组@array的offset的位置插入list,同时删除从   offset开始长度为length个元素 。list上下文返回操作 后的数组,scalar上下文返回操作后的数组最后一个元 素。
1、缺省list,即splice(@array,offset,length) #删除数组@array从offset开始长度为length个元素
2、缺省list和length,即splice(@array,offset) #删除数组@array从offstage开始到最后
3、缺省list、length和offset,即splice(@array) #删除数组@array所有元素
 
说明:(1)若length为负数,则删除的数组@array中的元素为:从offset开始,到从后往前数length个元素。如下例:
    my @rocks = (1..20);
    my @tmp = qw(a b c);
    print "@rocks\n";
    splice(@rocks,2,-3,@tmp);
     print "@rocks\n";
运行结果为1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
          1 2 a b c 18 19 20
      (2)若offset为负数,则以数组@array的尾部元素为起始点,同样删除offset后的length个元素。如下例:
  my @rocks = (1..20);
    my @tmp = qw(a b c);
    print "@rocks\n";
  splice(@rocks,-7,3,@tmp);
    print "@rocks\n";
运行结果为1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
  1 2 3 4 5 6 7 8 9 10 11 12 13 a b c 17 18 19 20
     (3)若offset越界,perl会提示警告,但会在尾部插入list。如下例:
   my @rocks = (1..20);
   my @tmp = qw(a b c);
  print "@rocks\n";
   splice(@rocks,22,-3,@tmp);
 print "@rocks\n";
运行结果为splice() offset past end of array at C:\Users\tang\Documentstest.pl line 8.
   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 a b c
原文见:http://blog.sina.com.cn/s/blog_88a2ce2f0100vm2j.html

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
调试vSphereSDKforPerl4.1出错发布时间:2022-07-22
下一篇:
PERL学习笔记---正则表达式发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap