Терминальный ввод/вывод
Чтение из stdin и запись в stdout/stderr для CLI-приложений.
Загрузка
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 |
нет |
См. Обработка ошибок для работы с ошибками.