Site Tools


Hotfix release available: 2018-04-22b "Greebo". upgrade now! [50.2] (what's this?)
io-system

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

io-system [2018/11/12 23:24] (current)
Line 1: Line 1:
 +==== Das einfache I/O Model (Input/​Output) ====
 +
 +FIXME Dies ist natürlich Lua Funktionalität. Allerdings ist diese in DEdK gesperrt. Da dieses Wiki primär für DEdK Scripte, und nicht Lua allgemein ist, sollten dort nur Dinge enthalten sein, die mit DEdK auch machbar sind. Als alternative könnten die "nicht machbaren"​ Abschnitte auch mit einem deutlichen Hinweis versehen werden. <​sub>​Chromix</​sub>​
 +
 +DELETEME Das Thema hier ist nirgends verlinkt und es wurde auch schon lange nichts mehr dran gemacht. Wird es noch gebraucht?
 +
 +**Also: wie werden Dateien in Lua behandelt.**
 +
 +Das einfache I/O Modell bewerkstelligt alle Operationen auf zwei Dateien. Das Programm initialisiert die Eingangsdatei als die Standard-input,​ und die Ausgangs-Datei als die Standard-output des Prozesses. Deshalb, wenn wir etwas wie io.read () durchführen,​ lesen wir vom Input-File.
 +
 +Ein Aufruf wie io.input(filename) öffnet die gewählte Datei im read-Modus und das ist jetzt die aktuelle Input-Datei. Von da an werden alle input-Befehle auf diese Datei ausgeführt. Bis ein anderer Aufruf „io.input“ kommt.
 +Für io.output gilt das gleiche nur umgekehrt.
 +
 +*In case of errors, both functions raise the error. If you want to handle errors *directly, you must use io.open, from the complete model.
 + FIXME erst lernen, dann schreiben.
 +
 +Das Schreiben in einer Datei ist einfacher als das Lesen, daher werden wir das Schreiben zuerst behandeln. Die io.write - Funktion bekommt einfach einen beliebig langen String und schreibt ihn in die Ausgabe-Datei. ​
 +Zahlen werden nach Standart-Regeln geschrieben. Um die volle Kontrolle zu haben, benutzen Sie besser die String-Funktionen um es nach Ihren Wünschen zu gestalten.
 +
 +    > io.write("​sin (3) = ", math.sin(3),​ "​\n"​)
 +      --> sin (3) = 0.1411200080598672
 +    > io.write(string.format("​sin (3) = %.4f\n",​ math.sin(3)))
 +      --> sin (3) = 0.1411
 +FIXME genau formulieren
 +
 +
 +Um einen Code wie „io.write(a..b..c)“ zu vermeiden, kann man das „io.write(a,​b,​c)“ mit dem gleichen Effekt benutzen. (immerhin zwei Punkte weniger Arbeit), für Sie und für den Computer. Mein Vater sagte immer: „Viel wenig gibt ein Viel.“
 +
 +FIXME  hier noch weiter arbeiten
  
io-system.txt · Last modified: 2018/11/12 23:24 (external edit)