Ich habe versucht, einige Methoden des Dateiobjekts so zu duplizieren, weil ich einen Lua-API-Code mit Groß- und Kleinschreibung nur in Kleinbuchstaben testen muss. Also habe ich versucht, dies:So benennen Sie Dateiobjektmethoden um
function openFile(n, m)
local f = io.open(n, m)
if(not f) then
return status(nil,"openFile: Nofile: "..tostring(n))
end
f.Read = f.read
f.Write = f.write
f.Close = f.close
f.Flush = f.flush
return f
end
Unter Berücksichtigung, dass die Datei-Objekt hat file:read
, file:write
... Auch bekannt als
Aber gibt mir einen Fehler wie den folgenden:
Execution error:
.\ZeroBraineProjects/dvdlualib/fileapi.lua:41: attempt to index local 'f' (a userdata value)
Ich dachte, dass eine Datei eine einfache Objekttabelle ist. Wie sich herausstellte, handelt es sich um ein Userdata-Objekt.
Also Jungs, wie kann ich Capital-Case-Methode zum Lesen und Schreiben verwenden?
ich genau das tat. Bevor Sie den Kommentar bearbeiten. Vielen Dank ! –