目次
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回表示しないようにします。
コメント