Re: [請益] 如何移除Array中一個的任一個row
※ 引述《josefy (醉落~最弱)》之銘言:
: 各位版大好, 小弟最近遇到個問題
: 我有個array
: @items=([a,1],[b,2],[c,3],[d,4]);
: 但是我想要移除掉第n個row
: ex, n=1 @items應該會變為:
: @itmes=([a,1],[c,3],[d,4]);
: 我試過用 splice但是對一維的array可以, 二維以上好像不能用
: splice @itmes,1,1;
: 請問該怎麼做 ? 謝謝!
Perl 的 array 實際上都是一維的.
只是我們有時候在這一個一維 array 裡面存放的是一排 array 的 reference
所以可以用起來像是二維 array 的效果.
如果想要把
@items = ([a,1],[b,2],[c,3],[d,4])
變成
@items = ([a,1],[c,3],[d,4])
的話, 用:
splice @items, 1, 1
沒有錯;
如果想變成
@items = ([a],[b],[c],[d])
的話, 就... 實際上是一一進每一個 ref 到的 array 裡面操作, 用:
for (@items) {
splice @$_, 1, 1;
# 較新版本的話 (perl >= 5.14) 也可以用下面這個
# splice $_, 1, 1;
}
這個是你指的.. 二維以上嗎? @_@"
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.121.80.249
※ 文章網址: http://www.ptt.cc/bbs/Perl/M.1420639609.A.8E2.html
推
01/07 22:08, , 1F
01/07 22:08, 1F
→
01/07 22:08, , 2F
01/07 22:08, 2F
→
01/07 22:10, , 3F
01/07 22:10, 3F
推
01/07 22:15, , 4F
01/07 22:15, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Perl 近期熱門文章
PTT數位生活區 即時熱門文章