perlの配列関数 splice
配列関数の中でちょっと特殊っぽい関数 spliceについて書き留めておく。
push/pop/shift/unshiftなどは配列の最初から、または最後から要素を足したり引いたりする関数だったが、spliceは途中の要素に対して操作できる。
形式としては
splice (ARRAY , OFFSET , LENGTH ,LIST)
のようになる。
わかりやすく書くと splice(対象配列の,ここから,これだけの長さを削除し,そこにこのリストを挿入)。
具体例は以下のような感じ。
my @array = qw(a b c d e f ); my @xyz = qw(x y z); my @removed = splice (@array , 1 , 4 , @xyz); print "\@array = @array\n"; print "\@removed = @removed\n"; > @array = a x y z f > @removed = b c d e
spliceの後をわかりやすく説明すると@arrayのリストの添え字の1(b)から4(e)までを削除して配列@removedに突っ込んで、そこに配列@xyzのリスト(x y z)を入れてねという意味になります。
# 参考文書
- 作者: 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/10/21
- メディア: 単行本
- 購入: 16人 クリック: 235回
- この商品を含むブログ (77件) を見る