Lua:
デバッグ出力を表示する
How to: (方法)
-- 基本的な出力
print("Hello, Debugging World!")
-- 変数の値を出力
local number = 42
print("The number is:", number)
-- 複雑なデータ構造の出力
local table = {key1 = "value1", key2 = "value2"}
print("Table contents:", table)
-- 出力の実売
-- Hello, Debugging World!
-- The number is: 42
-- Table contents: table: 0x7ffee1c52970
出力が table: ...
のようになるのは、ただのテーブルのアドレス表示です。中身を見たい場合は次のようにします。
-- テーブル内容を繰り返し出力する関数
local function printTable(t)
for k, v in pairs(t) do
print("Key:", k, "Value:", v)
end
end
printTable(table)
-- Key: key1 Value: value1
-- Key: key2 Value: value2
Deep Dive (深掘り)
Luaでは、print()
関数を使用してシンプルに出力できますが、プログラムの歴史の中で、デバッグには様々な方法がありました。例えば、初期のプログラミングではLEDや紙に穿孔されたカードを使っていました。今日では、統合開発環境(IDE)が複雑なデバッグツールを提供しており、ステップ実行や変数の監視などが可能です。しかし、print
文のようなシンプルな出力は依然として有用です。
代替の方法としては、ログファイルに出力したり、GUIを使用して視覚的に情報を表示したりすることが挙げられます。print
関数がシンプルなテキストとして出力するのに対し、io.write()
関数は出力形式をより細かく制御できます。また、Luaでのデバッグ出力をより豊かにするサードパーティのライブラリも存在します。
See Also (関連情報)
- The official Lua reference manual: https://www.lua.org/manual/5.4/
- An introduction to Lua’s table functions: https://www.lua.org/pil/2.5.html
- Using the debug library in Lua: https://www.lua.org/pil/23.html
- Advanced Lua Debugger (ALD): https://github.com/stevedonovan/Lua-Alchemy/