Terminal-I/O

Lesen von stdin und Schreiben zu stdout/stderr für CLI-Anwendungen.

Dieses Modul funktioniert nur im Terminal-Kontext. Sie können es nicht aus regularen Funktionen verwenden—nur aus Prozessen, die auf einem Terminal-Host laufen.

Laden

local io = require("io")

Schreiben zu Stdout

Schreibt Strings zu stdout ohne Zeilenumbruch:

local ok, err = io.write("text", "more")
Parameter Typ Beschreibung
... string Variable Anzahl von Strings zum Schreiben

Gibt zurück: boolean, error

Schreibt Werte zu stdout mit Tabs dazwischen und Zeilenumbruch am Ende:

io.print("value1", "value2", 123)
Parameter Typ Beschreibung
... any Variable Anzahl von Werten zum Ausgeben

Gibt zurück: boolean, error

Schreiben zu Stderr

Schreibt Werte zu stderr mit Tabs dazwischen und Zeilenumbruch am Ende:

io.eprint("Error:", message)
Parameter Typ Beschreibung
... any Variable Anzahl von Werten zum Ausgeben

Gibt zurück: boolean, error

Bytes lesen

Liest bis zu n Bytes von stdin:

local data, err = io.read(1024)
Parameter Typ Beschreibung
n integer Anzahl der zu lesenden Bytes (Standard: 1024, Werte <= 0 werden zu 1024)

Gibt zurück: string, error

Zeile lesen

Liest eine Zeile von stdin bis zum Zeilenumbruch:

local line, err = io.readline()

Gibt zurück: string, error

Ausgabe flushen

Flusht den stdout-Puffer:

local ok, err = io.flush()

Gibt zurück: boolean, error

Kommandozeilenargumente

Holt Kommandozeilenargumente:

local args = io.args()

Gibt zurück: string[]

Fehler

Bedingung Art Wiederholbar
Kein Terminal-Kontext errors.UNAVAILABLE nein
Schreiboperation fehlgeschlagen errors.INTERNAL nein
Leseoperation fehlgeschlagen errors.INTERNAL nein
Flush-Operation fehlgeschlagen errors.INTERNAL nein

Siehe Fehlerbehandlung für die Arbeit mit Fehlern.