Perl splice 函数

作者: JSON_NULL | 来源:发表于2017-08-18 11:10 被阅读10次

语法

splice ARRAY,OFFSET,LENGTH,LIST
splice ARRAY,OFFSET,LENGTH
splice ARRAY,OFFSET
splice ARRAY

功能

从ARRAY数组中OFFSET处向后删除LENGTH个元素,如果LIST参数存在,则用LIST在ARRAY中替换被删除掉的元素。在列表上下文中返回被删除元素的列表,在标量上下文中返回被删除的最后一个元素,如果没有删除任何元素则返回undef。

  1. 如果OFFSET主负,则从数组末尾开始向前计数-OFFSET为其起始位置。
  2. 如果省略LENGTH,则删除从OFFSET之后的所有元素。
  3. 如果LENGTH为负,则从数组末尾开始计数LENGTH个元素,然后从OFFSET位置到LENGTH位置之间的元素会被删除。
  4. 如果省略OFFSET和LENGTH,则删除所有内容。
  5. 如果OFFSET超出阵列的末尾,并且提供了一个LENGTH,则Perl发出警告,并在数组的末尾进行拼接。

例子

push(@a,$x,$y)      splice(@a,@a,0,$x,$y)
pop(@a)             splice(@a,-1)
shift(@a)           splice(@a,0,1)
unshift(@a,$x,$y)   splice(@a,0,0,$x,$y)
$a[$i] = $y         splice(@a,$i,1,$y)

sub nary_print {
    my $n = shift;
    while( my @next_n = splice @_, 0, $n) {
        say join q{ -- }, @next_n;
    }
}

nary_print(3, qw(a b c d e f g h));
# prints:
# a -- b -- c
# d -- e -- f
# g -- h

相关文章

  • Perl splice 函数

    语法 功能 从ARRAY数组中OFFSET处向后删除LENGTH个元素,如果LIST参数存在,则用LIST在ARR...

  • Perl: push pop shift splice

    Manipulating Perl arrays: shift, unshift, push, pop Autho...

  • Array

    数组方法里push、pop、shift、unshift、join、splice分别是什么作用?用 splice函数...

  • 子程序

    perl中的子模块是一种函数,就是用户自定义的函数,函数包括子函数和内置函数。 perl中的函数的特点就是自带返回...

  • Perl子程序(函数)和引用

    Perl子程序(函数) Perl子程序也就是用户自定义的函数 Perl子程序可以出现在程序的任何地方,语法格式如下...

  • 2018-07-23

    在js中的List的splice函数用法 var arr[]={1,2,3,4}; 删除 :splice(1,1)...

  • perl函数

    1. 计算两个日期之间相差天数 转换成秒计算 2. 一个字符串里的某一段字符,替换成另一端字符串里的字符

  • PHP面试中常遇到的问题(逐步完善答案)

    PHP相关 1、PHP基础函数使用:数组*、字符串、时间函数、数学函数、 max min array_splice...

  • 用 splice函数分别实现 push、pop、shift、un

    如果用 splice函数分别实现 push、pop、shift、unshift方法。

  • 操作数组高阶函数用法(部分)

    操作数组的函数方法(括号内函数会改变原数字)(pop push unshift shift splice ...

网友评论

    本文标题:Perl splice 函数

    本文链接:https://www.haomeiwen.com/subject/fgnorxtx.html