Работа С Библиотекой Операционной Системы, Lua 5.1.x |
Здравствуйте, гость ( Вход | Регистрация )
Работа С Библиотекой Операционной Системы, Lua 5.1.x |
8.11.2008, 21:52
Сообщение
#1
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Оригинальный мануал (на английском), и не только, находится
Итак, вот функции, их описание и способы применения, всё исключительно из опыта ковыряния скриптов и этого мануала, функции никогда не применияемые мною или в которых я не вижу смысла не описываю: os.clock() Возвращает приблизительное время в секундах использования ЦПУ программой (с момента запуска exe'шника) os.date([format [, time]]) Функция для получения даты в определенном формате. Имеет два опциональных параметра format и time. Если оба параметра отсутствуют, то функция аналогична os.date("%c"), "%с" = "%x %X", об этом далее. Первый параметр format имеет тип string. Опционально можно указать "!" в самом начале строки, тогда время форматируется в соответствии с универсальным глобальным временем (по Гринвичу). Если формат состоит из "*t", то возвращается таблица со следующими полями: year (4 знака), month (1–12), day (1–31), hour (0–23), min (0–59), sec (0–61), wday (день недели, Воскресенье - 1), yday (день года) и isdst (по-моему летнее ли время, имеет тип boolean). Код [22:22:01] os.date("*t") = { Как видите, с восклицательнм знаком параметры hour различаются на 3.["hour"] = 22, ["min"] = 22, ["wday"] = 7, ["day"] = 8, ["month"] = 11, ["year"] = 2008, ["sec"] = 1, ["yday"] = 313, ["isdst"] = false, } [22:22:57] os.date("!*t") = { ["hour"] = 19, ["min"] = 22, ["wday"] = 7, ["day"] = 8, ["month"] = 11, ["year"] = 2008, ["sec"] = 57, ["yday"] = 313, ["isdst"] = false, } Если формат отличен от "*t", то строка форматируется аналогично функции С strftime. Вот обрабатываемые форматы:
Примечание: перевод докуметации без изменения, в реальности некоторые функции отличаются или вообще не работатют, вот примеры: Цитата os.date() = "11/08/08 23:33:15" Как видите, не всё работает. И для доп. нагрузки на мозги код для получения такого списочка:os.date("%A") = "Saturday" os.date("%b") = "Nov" os.date("%B") = "November" os.date("%d") = "08" os.date("%e") = "00" os.date("%H") = "23" os.date("%I") = "11" os.date("%j") = "313" os.date("%k") = "00" os.date("%l") = "00" os.date("%m") = "11" os.date("%M") = "33" os.date("%p") = "PM" os.date("%S") = "15" os.date("%w") = "6" os.date("%x") = "11/08/08" os.date("%X") = "23:33:15" os.date("%y") = "08" os.date("%Y") = "2008" CODE qwe = "\r\n" tData = { "", "%A", "%b", "%B", "%d", "%e", "%H", "%I", "%j", "%k", "%l", "%m", "%M", "%p", "%S", "%w", "%x", "%X", "%y", "%Y", } for i = 1, #tData do local s = "return os.date(\""..tData[i].."\")" s = s:gsub("\"\"", "") local q = assert(loadstring(s))() q = (type(q) == "string") and string.format("%q", q) or tostring(q) s = s:gsub("return ", "") qwe = qwe..s.." = "..q.."\r\n" end Core.SendToAll(qwe) Второй параметр, если он не указан, равен os.time(), т.е. текущему времени "эпохи", можно указать другое время, которое можно получить при помощи функции os.time(table), пример таблицы table выше. os.difftime(t2, t1) Возвращает количество секунд с времени t1 по время t2. В POSIX, Windows и некоторых других системах это значение равнозначно t2-t1. os.execute([command]) Функция аналогична С функции system. Она передает команду на исполнение ОС. Возвращает статус-код, который зависит от ОС. Если команда отсутствует, тогда возвращается ненулевое значение если shell доступен, 0 в противном случае. os.exit([code]) Вызывают функцию C exit, с опциональным кодом code,чтобы выйти из программы. По умолчанию значение code - код успешного выполнения. os.getenv(varname) Возвращает значение системной переменной или nil если переменная не определена. os.remove(filename) Удаляет файл или папку с названием filename. Папка должна быть пустой чтобы ее удалить. Если функция не может провести удаление, возвращается nil и сторка с ошибкой. os.rename(oldname, newname) Переименовывает файл или папку с названием oldname в newname. Если функция не может провести переименование, то возвращается nil и строку с ошибкой. os.time([table]) Возвращает текущее время при вызове без аргументов, или время и дату, указанные в передаваемой таблице. Эта таблица должна иметь поля year, month, и day, и может иметь поля hour, min, sec, и isdst (описание этих полей см. в описании функции os.date). Возвращаемое значание – это число, значение которого зависит от системы. В POSIX, Windows и некоторых других системах, это число соответствует количеству секунд, отсчитываемому от некоторого заданного момента времени ("эпоха"). В других системах, значение не специфицировано, и число, возвращаемое функцией time, может быть использовано только как аргумент функций date и difftime. |
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
Как разархивировать архив библиотекой Ptokax/Windows |
2 | Tsd | 5 922 | 19.11.2016, 20:20 Посл. сообщение: Tsd | |
Как сделать автозапуск verlihub при загрузки системы? | 10 | roflDDDD | 15 790 | 30.10.2010, 14:50 Посл. сообщение: переподвыподверт | |
От: Как сделать автозапуск verlihub при загрузки системы? От темы с ID: 3832 |
2 | sania | 6 682 | 28.8.2010, 0:37 Посл. сообщение: sania | |
Вызов sр команд системы из скрипта собсно как? |
2 | MEXAHuK | 6 735 | 21.2.2010, 21:03 Посл. сообщение: MEXAHuK | |
Покер моя работа! Лучшая покерная школа оплатит вашу игру! | 45 | King | 46 309 | 17.1.2010, 16:59 Посл. сообщение: Nickolya | |
Работа чата Юзеры не могут общаться, не расшрарив файлы |
5 | Nenomernoj | 9 335 | 26.10.2009, 21:30 Посл. сообщение: Nenomernoj | |
Работа С *.тхт Файлами Через Меню Управление и редактирование *.тхт файлов |
6 | Strannik | 12 316 | 13.1.2009, 21:11 Посл. сообщение: Strannik |
|
Сейчас: 4.12.2024, 22:10 |