MENU

luaテーブルの中身をプリントで表示する方法

目次

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回表示しないようにします。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次