Lua:
Debug-output afdrukken
Hoe te:
Hier is de essentie van spul afdrukken in Lua:
print("Hallo, Debug Wereld!") -- Zet een string op de console
local number = 42
print("Het nummer is:", number) -- Combineert strings en nummers
local table = {name = "Lua", year = 1993}
print(table) -- Drukt de tabelreferentie af, niet super handigVoorbeelduitvoer:
Hallo, Debug Wereld!
Het nummer is: 42
table: 0x194a330Om in de tabel te duiken en zijn ingewanden te tonen, doe dit:
for key, value in pairs(table) do
print(key, "=", value)
endVoorbeelduitvoer:
name = Lua
year = 1993Diep Duiken
Debugoutput afdrukken is niet nieuw of fancy. Het is betrouwbaar als een oude hamer. Zie je, in de oude dagen, toen fancy debuggers er nog niet waren, drukten coders af om te zien waar dingen misgingen. Lua’s print-functie is ongecompliceerd. Het gooit dingen naar stdout - dat is meestal je terminal.
Alternatieven? Lua heeft er een hoop. Er is de zwaardere io.write() als je meer controle nodig hebt, zoals nieuwe regels overslaan. Modules zoals inspect laten de ingewanden van je tabellen beter zien dan print kan.
Implementatie van print is basis in Lua’s C-broncode. Het gebruikt tostring op elk argument en gooit het naar stdout met een nieuwe regel. LuaJIT, een just-in-time compiler versie van Lua, gebruikt dezelfde print benadering, maar met riem en bretels.
Zie Ook
Krijg het grotere plaatje:
- Lua’s officiële
printdocumentatie: https://www.lua.org/manual/5.4/manual.html#pdf-print - Een introductie tot LuaJIT: http://luajit.org/intro.html
iobibliotheek uiteenzetting voor het vuile werk overio.write: https://www.lua.org/manual/5.4/manual.html#6.8- De
inspect.luamodule, voor als je moe bent van je tabellen die verlegen spelen: https://github.com/kikito/inspect.lua