Perl splice 函數(shù)

語(yǔ)法

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

功能

從ARRAY數(shù)組中OFFSET處向后刪除LENGTH個(gè)元素,如果LIST參數(shù)存在,則用LIST在ARRAY中替換被刪除掉的元素。在列表上下文中返回被刪除元素的列表,在標(biāo)量上下文中返回被刪除的最后一個(gè)元素,如果沒有刪除任何元素則返回undef。

  1. 如果OFFSET主負(fù),則從數(shù)組末尾開始向前計(jì)數(shù)-OFFSET為其起始位置。
  2. 如果省略LENGTH,則刪除從OFFSET之后的所有元素。
  3. 如果LENGTH為負(fù),則從數(shù)組末尾開始計(jì)數(shù)LENGTH個(gè)元素,然后從OFFSET位置到LENGTH位置之間的元素會(huì)被刪除。
  4. 如果省略O(shè)FFSET和LENGTH,則刪除所有內(nèi)容。
  5. 如果OFFSET超出陣列的末尾,并且提供了一個(gè)LENGTH,則Perl發(fā)出警告,并在數(shù)組的末尾進(jìn)行拼接。

例子

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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Array_key_exists();檢查給定的鍵名或索引是否存在于數(shù)組中二、array_keys ()返回?cái)?shù)...
    peng_js閱讀 414評(píng)論 0 0
  • Ruby 數(shù)組(Array) Ruby 數(shù)組是任何對(duì)象的有序整數(shù)索引集合。數(shù)組中的每個(gè)元素都與一個(gè)索引相關(guān),并可通...
    黑夜的眸閱讀 1,180評(píng)論 0 0
  • Javascript有很多數(shù)組的方法,有的人有W3C的API,還可以去MDN上去找,但是我覺得API上說(shuō)的不全,M...
    頑皮的雪狐七七閱讀 4,471評(píng)論 0 6
  • php usleep() 函數(shù)延遲代碼執(zhí)行若干微秒。 unpack() 函數(shù)從二進(jìn)制字符串對(duì)數(shù)據(jù)進(jìn)行解包。 uni...
    思?jí)鬚HP閱讀 2,133評(píng)論 1 24
  • 2015-12-23 華杉 君子不跟人結(jié)黨。君子沒有盟友,沒有“利益共同體”,沒有“一致行動(dòng)人”。因?yàn)榫拥脑瓌t是...
    郁萍閱讀 308評(píng)論 0 0

友情鏈接更多精彩內(nèi)容