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 handig

Voorbeelduitvoer:

Hallo, Debug Wereld!
Het nummer is: 42
table: 0x194a330

Om in de tabel te duiken en zijn ingewanden te tonen, doe dit:

for key, value in pairs(table) do
    print(key, "=", value)
end

Voorbeelduitvoer:

name = Lua
year = 1993

Diep 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: