table.move
テーブルの一部の要素を他の位置に移動する
lua
table.move (a1, f, e, t [,a2])説明
テーブル a1 の要素をテーブル a2 に移動またはコピーします。この操作は次のような複数代入と同等です:
a2[t], a2[t+1], ..., a2[t+(e-f)] = a1[f], a1[f+1], ..., a1[e]
f:a1の開始インデックスe:a1の終了インデックスt:a2の開始インデックス
a2 を省略した場合、デフォルトで a1 が使用されます。つまり、a1 の要素を a1 内で移動(コピー)します。移動元と移動先の範囲が重なっていても正しく動作します。移動する要素数は Lua の整数で表せる範囲内でなければなりません。
この関数は、移動先のテーブル a2 を返します。
サンプルコード
lua
-- テーブルa1の要素を移動
local a1 = {10, 20, 30, 40, 50}
table.move(a1, 2, 4, 1) -- a1の2番目から4番目の要素を1番目から配置し直す
for i, v in ipairs(a1) do
print(i, v)
endこの例では、テーブルa1の2番目から4番目の要素(20, 30, 40)が1番目から順に配置されます。結果として、テーブルa1は{20, 30, 40, 40, 50}になります。