diff --git a/lua.md b/lua.md index d49e9249..71b58f35 100644 --- a/lua.md +++ b/lua.md @@ -95,6 +95,22 @@ res = fn("sin", 0) -- при этом параметр var3 задан по-ум --- +## Типы данных + +Описывать типы данных всех сущностей особого смысла нет, поскольку шлюз динамично развивается и также могут меняться и типы данных. Например, до конца 2022 года тип состояний Boolean возвращался как String. Поэтому тип данных лучше проверить, дабы не было разночтений. + +Для проверки типа имеется функция LUA `type()`. Пример: + +```lua +local var = true -- объявил локальную переменную и присвоил ей логическое значение +print(type(var)) -- выводим в STDOUT тип переменной +var = "строка" -- присвоил переменной значение типа String +print(type(var)) -- выводим в STDOUT тип переменной +-- в STDOUT получим: +-- boolean +-- string +``` + ## Запуск скриптов В зависимости от задач, выполняемых той или иной автоматизацией, доступны несколько вариантов запуска скриптов: @@ -196,7 +212,7 @@ scripts.run(script[, Param]) Библиотека `Event` служит для передачи данных в скрипт, в зависимости от того, из какой подсистемы он вызван. -### Типы событий +#### Типы событий События различаются типом `Event.Type`. В скрипт передается числовое значение типа события, позволяющее определить источник вызова и получить различные параметры: @@ -208,7 +224,7 @@ scripts.run(script[, Param]) 6. [Таймер Cron.](/lua.md#Вызов-по-таймеру-Cron) `SCRIPT_EVENT_TYPE_CRON` 7. [Вызов из LUA командой scripts.run()](/lua.md#scriptsrun) `SCRIPT_EVENT_TYPE_RUN` -### Свойства событий +#### Свойства событий Для всех типов событий передаются следующие свойства: