anrufen Ich bin verloren auf, was ich hier falsch mache.Lua Versuch, Methode einen Nullwert
Ich habe diesen einfachen Code:
Queue = {}
Queue.__Index = Queue
function Queue.Create()
local obj = {}
setmetatable(obj, Queue)
return obj
end
function Queue:PushBack(item)
end
q = Queue.Create()
print(q)
q:PushBack(1)
Wenn diese Ausführung erhalte ich „Versuch-Methode‚Push-Back‘zu nennen (ein Null-Wert) Allerdings, wenn ich die Push-Back-Funktion wie folgt ändern und nennen Sie es entsprechend. es funktioniert:
function Queue.PushBack(q, item)
end
q = Queue.Create()
print(q)
Queue.PushBack(q, 1)
der Code ausgeführt wird, und führt richtig verstehe ich. ":" syntaktischer Zucker ist, so scheint es mir, dass
function Queue:PushBack(item)
wäre genau das gleiche wie
Queue.PushBack(q, item)
Aber es stirbt auf mich. Hat es damit zu tun, wie ich das Objekt erstelle? Ich bin ziemlich verloren und ich kann nicht herausfinden, was genau falsch ist.