Терминальный ввод/вывод

Чтение из stdin и запись в stdout/stderr для CLI-приложений.

Этот модуль работает только в контексте терминала. Его нельзя использовать из обычных функций — только из процессов, работающих на Terminal Host.

Загрузка

local io = require("io")

Запись в Stdout

Запись строк в stdout без перевода строки:

local ok, err = io.write("text", "more")
Параметр Тип Описание
... string Переменное количество строк для записи

Возвращает: boolean, error

Вывод с переводом строки

Запись значений в stdout с табуляцией между ними и переводом строки в конце:

io.print("value1", "value2", 123)
Параметр Тип Описание
... any Переменное количество значений для вывода

Возвращает: boolean, error

Запись в Stderr

Запись значений в stderr с табуляцией между ними и переводом строки в конце:

io.eprint("Error:", message)
Параметр Тип Описание
... any Переменное количество значений для вывода

Возвращает: boolean, error

Чтение байтов

Прочитать до n байт из stdin:

local data, err = io.read(1024)
Параметр Тип Описание
n integer Количество байт для чтения (по умолчанию: 1024, значения <= 0 становятся 1024)

Возвращает: string, error

Чтение строки

Прочитать строку из stdin до символа новой строки:

local line, err = io.readline()

Возвращает: string, error

Сброс буфера

Сбросить буфер stdout:

local ok, err = io.flush()

Возвращает: boolean, error

Аргументы командной строки

Получить аргументы командной строки:

local args = io.args()

Возвращает: string[]

Ошибки

Условие Kind Повторяемо
Нет терминального контекста errors.UNAVAILABLE нет
Ошибка операции записи errors.INTERNAL нет
Ошибка операции чтения errors.INTERNAL нет
Ошибка операции сброса errors.INTERNAL нет

См. Обработка ошибок для работы с ошибками.