Справочное руководство по языку Lua 5.1 :: 5.8 - Обработка таблиц



5.8 – Функции операционной системы

Эта библиотека включена в таблицу os.


os.clock ()

Возвращает примерное количество времени в секундах, которое программа выполнялась на CPU.


os.date ([format [, time]])

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

Если аргумент time передается функции, то должно быть отформатировано «время» (см. функцию os.time). В противном случае, параметр date используется для форматирования текущего времени.

Если параметр format начинается с '!', то время форматируется в соответствии с универсальным глобальным временем (по Гринвичу). После этого опционального символа, если format равен "*t", то date возвращает таблицу со следующими полями: year (год, четыре цифры), month (месяц, 1 – 12), day (день, 1 – 31), hour (час, 0 – 23), min (минуты, 0 – 59), sec (секунды, 0 – 61), wday (день недели, воскресенью соответствует 1), yday (день года), и isdst (флаг дневного времени суток, тип boolean).

Если format не равен "*t", то функция date возвращает дату в виде строки, отформатированной в соответствии с правилами функции C strftime.

При вызове без аргументов, date возвращает данные «в обычном формате», который зависит от системы и текущих настроек операционной системы (т.е., os.date() эквивалентна os.date("%c")).


os.difftime (t2, t1)

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


os.execute ([command])

Эта функция эквивалентна функции C system. Она передает параметр command на выполнение шеллу операционной системы. Она возвращает системно-зависимый статус. Если параметр command не передается, то возвращает не ноль, если шелл доступен и ноль в противном случае.


os.exit ([code])

Вызывает функцию C exit, с опциональным параметром code, для останова выполнения программы-хозяина. Значение по умолчанию для параметра code – код успешного завершения. Примечание: в ISO C описаны коды 0, EXIT_SUCCESS (обычно равен 0, но не стандартизирован, может обозначать «успешное завершение, отличное от состояния 0»), EXIT_FAILURE (обычно какое-либо ненулевое значение, но не стандартизирован).


os.getenv (varname)

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


os.remove (filename)

Удалаяет файл или директорию с заданным именем. Директории должны быть пусты. Если функция не может провести удаления, она возвращает nil, плюс строку, содержащую описание ошибки.


os.rename (oldname, newname)

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


os.setlocale (locale [, category])

Изменяет текущие региональные настройки (locale) программы. Параметр locale является строкой, содержащей региональные настройки (locale); category – опциональный строчный параметр, содержащий категорию, для которой производится изменение: "all", "collate", "ctype", "monetary", "numeric", или "time"; значением по умолчанию является категория "all". Функция возвращает значение новых настроек (locale), или nil, если вызов не может быть обработан.

Если locale – пустая строка, региональные настройки изменяются на региональные настройки, определяемые реализацией (implementation-defined native locale). Если locale – строка "C", текущие реиональные настройки изменяются на стандартные C-настройки.

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


os.time ([table])

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

Возвращаемое значание – это число, значение которого зависит от системы. В POSIX, Windows, и некоторых других системах, это число соответствует количеству секунд, отсчитываемому от некоторого заданного момента времени ("эпоха"). В других системах, значение не специфицировано, и число, возвращаемое функцией time, может быть использовано только как аргумент функций date и difftime.


os.tmpname ()

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