私はLua 4を使った古いビデオゲーム用のMODを作成しています。入力されたテーブルの浅いコピーを作成する方法が必要です。Luaの浅いテーブルコピー4
http://lua-users.org/wiki/CopyTable
function shallowcopy(orig)
local orig_type = type(orig)
local copy
if orig_type == 'table' then
copy = {}
for orig_key, orig_value in pairs(orig) do
copy[orig_key] = orig_value
end
else -- number, string, boolean, etc
copy = orig
end
return copy
end
しかし、ルーチンのLUAの新しいバージョンのために書かれました:私は、ウェブ上でこのルーチンを見つけました。例えば、pairs
関数はLua4には存在しません。また、関数は再帰的ではありません。どのように私はルア4で動作し、再帰的な同等のルーチンを書くだろうか?ありがとう!
[編集]
投稿が更新されました。
なぜ浅いコピーを作成するのに役立つのですか?深いコピーを作成するポストコードはどうしてですか? – Piglet
私はそれに気付かなかった。良いキャッチ。私は質問を更新しました。 – posfan12