2016-06-10 5 views
0

Ich mache ein kleines Programm für die Schule in Lua, aber ich brauche Hilfe. Ich öffne eine Datei, aber wenn ich schreibe, erscheint nichts in der Datei .txt. Kann jemand helfen? Dies ist der Code-Snippet ich zu beheben versuche:Datei funktioniert nicht in Lua

file=io.open('var.txt',"w+") 
    io.output(file) 
    io.write('hi!') 

Edit: Ich habe versucht, file:close() und io.flush(), aber ich habe es nicht geschafft, damit es funktioniert.

+1

Hinzufügen 'io.flush()' an das Ende –

+1

Ich glaube, das Schließen der Datei sollte genug sein ... – Jakuje

+0

Und es wird implizit geschlossen, wenn das Programm beendet wird. –

Antwort

1

Versuchen Sie Folgendes:

io.output('var.txt') 
io.write('hi!') 
io.close() 

Die Funktion io.output Sie eine aktuelle Datei für die Ausgabe von seinem Dateinamen angeben können. In Ihrem Beispiel haben Sie einen Dateihandler übergeben, den Sie mit io.open anstelle eines Dateinamens erstellt haben. Dies erzeugt implizit einen ungültigen Dateihandler, den io.write nicht verwenden kann. Weitere Informationen finden Sie im Kapitel "The Simple I/O Model" von "Programming in Lua".