Учебники

Lua — Возможности операционной системы

В любом приложении это часто требуется для доступа к функциям уровня операционной системы, и оно доступно с библиотекой операционной системы. Список доступных функций приведен в следующей таблице.

Sr.No. Библиотека / Метод и Цель
1

os.clock ()

Возвращает приблизительную величину в секундах процессорного времени, используемого программой.

2

os.date ([формат [, время]])

Возвращает строку или таблицу, содержащую дату и время, отформатированные в соответствии с заданным форматом строки.

3

os.difftime (t2, t1)

Возвращает количество секунд от времени t1 до времени t2. В POSIX, Windows и некоторых других системах это значение точно равно t2-t1.

4

os.execute ([команда])

Эта функция эквивалентна системе функций ANSI C. Он передает команду для выполнения оболочкой операционной системы. Его первый результат — true, если команда завершилась успешно, или nil в противном случае.

5

os.exit ([code [, close])

Вызывает выход из функции ANSI C, чтобы завершить программу хоста. Если код равен true, возвращаемый статус — EXIT_SUCCESS; если код ложен, возвращаемый статус — EXIT_FAILURE; если код — число, возвращаемое состояние — это число.

6

os.getenv (varname)

Возвращает значение переменной среды процесса varname или nil, если переменная не определена.

7

os.remove (имя файла)

Удаляет файл (или пустой каталог в системах POSIX) с указанным именем. Если эта функция завершается ошибкой, она возвращает nil плюс строку, описывающую ошибку и код ошибки.

8

os.rename (старое имя, новое имя)

Переименовывает файл или каталог с именем oldname в newname. Если эта функция завершается ошибкой, она возвращает nil плюс строку, описывающую ошибку и код ошибки.

9

os.setlocale (locale [, category])

Устанавливает текущую локаль программы. locale — системно-зависимая строка, определяющая локаль; категория — необязательная строка, описывающая, какую категорию изменить: «all», «collate», «ctype», «денежный», «числовой» или «время»; категория по умолчанию — «все». Функция возвращает имя новой локали или nil, если запрос не может быть выполнен.

10

os.time ([таблица])

Возвращает текущее время при вызове без аргументов или время, представляющее дату и время, указанные в данной таблице. Эта таблица должна содержать поля year, month и day и может иметь поля hour (по умолчанию 12), min (по умолчанию 0), sec (по умолчанию 0) и isdst (по умолчанию nil). Описание этих полей см. В функции os.date.

11

os.tmpname ()

Возвращает строку с именем файла, которую можно использовать для временного файла. Файл должен быть явно открыт перед использованием и явно удален, когда он больше не нужен.

os.clock ()

Возвращает приблизительную величину в секундах процессорного времени, используемого программой.

os.date ([формат [, время]])

Возвращает строку или таблицу, содержащую дату и время, отформатированные в соответствии с заданным форматом строки.

os.difftime (t2, t1)

Возвращает количество секунд от времени t1 до времени t2. В POSIX, Windows и некоторых других системах это значение точно равно t2-t1.

os.execute ([команда])

Эта функция эквивалентна системе функций ANSI C. Он передает команду для выполнения оболочкой операционной системы. Его первый результат — true, если команда завершилась успешно, или nil в противном случае.

os.exit ([code [, close])

Вызывает выход из функции ANSI C, чтобы завершить программу хоста. Если код равен true, возвращаемый статус — EXIT_SUCCESS; если код ложен, возвращаемый статус — EXIT_FAILURE; если код — число, возвращаемое состояние — это число.

os.getenv (varname)

Возвращает значение переменной среды процесса varname или nil, если переменная не определена.

os.remove (имя файла)

Удаляет файл (или пустой каталог в системах POSIX) с указанным именем. Если эта функция завершается ошибкой, она возвращает nil плюс строку, описывающую ошибку и код ошибки.

os.rename (старое имя, новое имя)

Переименовывает файл или каталог с именем oldname в newname. Если эта функция завершается ошибкой, она возвращает nil плюс строку, описывающую ошибку и код ошибки.

os.setlocale (locale [, category])

Устанавливает текущую локаль программы. locale — системно-зависимая строка, определяющая локаль; категория — необязательная строка, описывающая, какую категорию изменить: «all», «collate», «ctype», «денежный», «числовой» или «время»; категория по умолчанию — «все». Функция возвращает имя новой локали или nil, если запрос не может быть выполнен.

os.time ([таблица])

Возвращает текущее время при вызове без аргументов или время, представляющее дату и время, указанные в данной таблице. Эта таблица должна содержать поля year, month и day и может иметь поля hour (по умолчанию 12), min (по умолчанию 0), sec (по умолчанию 0) и isdst (по умолчанию nil). Описание этих полей см. В функции os.date.

os.tmpname ()

Возвращает строку с именем файла, которую можно использовать для временного файла. Файл должен быть явно открыт перед использованием и явно удален, когда он больше не нужен.

Общие функции ОС

Простой пример использования общих математических функций показан ниже.

Live Demo

-- Date with format
io.write("The date is ", os.date("%m/%d/%Y"),"\n")

-- Date and time
io.write("The date and time is ", os.date(),"\n")

-- Time
io.write("The OS time is ", os.time(),"\n")

-- Wait for some time
for i=1,1000000 do
end

-- Time since Lua started
io.write("Lua started before ", os.clock(),"\n")

Когда мы запустим вышеуказанную программу, мы получим вывод, аналогичный следующему.

The date is 01/25/2014
The date and time is 01/25/14 07:38:40
The OS time is 1390615720
Lua started before 0.013

Приведенные выше примеры являются лишь некоторыми из распространенных примеров, мы можем использовать библиотеку ОС в зависимости от наших потребностей, поэтому попробуйте использовать все функции, чтобы быть более знакомыми. Существуют такие функции, как удаление, которое помогает в удалении файла, выполнение, которое помогает нам выполнять команды ОС, как описано выше.