目次
LUAテーブルの中身をプリントにて確認する方法
Luaにおいて、テーブルは非常に強力なデータ構造であり、多くの情報を格納するために使用されます。しかし、開発中にテーブルの中身を簡単に確認したい場合、単純なprint関数では期待した結果を得られません。テーブルの中身をきちんと表示するための小さなヘルパー関数を使用することで、テーブルのすべてのキーと値をプリントすることができます。
function printTable(t, indent, tableHistory)
indent = indent or ""
tableHistory = tableHistory or {}
if tableHistory[t] then
print(indent .. "*reference*")
return
end
tableHistory[t] = true
for k, v in pairs(t) do
local valueType = type(v)
if valueType == "table" then
print(indent .. tostring(k) .. ":")
printTable(v, indent .. " ", tableHistory)
else
print(indent .. tostring(k) .. ": " .. tostring(v))
end
end
end
-- 使用例:
local sampleTable = {a = 1, b = {c = 2, d = 3}}
printTable(sampleTable)
このprintTable関数は、テーブルの中のサブテーブルも再帰的に出力します。tableHistoryは、無限ループを回避するために使用されるテーブルで、再帰呼び出しの際に同じテーブルを2回表示しないようにします。
コメント