Re: [請益] 如何移除Array中一個的任一個row

看板Perl作者 (Cindy Wang)時間10年前 (2015/01/07 14:06), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《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
沒錯, 但我用splice @items, 1,1; 真的不行 Or2
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
ok, 瞭解!
01/07 22:15, 4F
文章代碼(AID): #1KhJrvZY (Perl)
討論串 (同標題文章)
文章代碼(AID): #1KhJrvZY (Perl)