12 063
правки
(Подготовка страницы к переводу) |
|||
Строка 1: | Строка 1: | ||
<languages/> | |||
<translate> | |||
В обновлённом движке правил wb-rules присутствует ряд важных нововведений, касающихся логики написания сценариев. | В обновлённом движке правил wb-rules присутствует ряд важных нововведений, касающихся логики написания сценариев. | ||
= Сценарии = | = Сценарии = | ||
== Изоляция сценариев == | == Изоляция сценариев == | ||
Строка 7: | Строка 10: | ||
Начиная с версии wb-rules 1.7, локальные переменные и функции, обьявленные в файле сценария не видны в других сценариях. | Начиная с версии wb-rules 1.7, локальные переменные и функции, обьявленные в файле сценария не видны в других сценариях. | ||
Таким образом, каждый сценарий может определять свои функции и переменные без риска изменить поведение других сценариев. | Таким образом, каждый сценарий может определять свои функции и переменные без риска изменить поведение других сценариев. | ||
=== Пример === | === Пример === | ||
В качестве примера приведём два сценария, одновременно запускаемых в движке правил. | В качестве примера приведём два сценария, одновременно запускаемых в движке правил. | ||
Каждый сценарий определяет переменные и функции. | Каждый сценарий определяет переменные и функции. | ||
Строка 62: | Строка 67: | ||
myFuncOne /etc/wb-rules/rules1.js:6 preventsyield | myFuncOne /etc/wb-rules/rules1.js:6 preventsyield | ||
</pre> | </pre> | ||
Строка 77: | Строка 83: | ||
Начиная с версии 1.7, в подобной конструкции обычно нет необходимости. Тем не менее, старые сценарии, | Начиная с версии 1.7, в подобной конструкции обычно нет необходимости. Тем не менее, старые сценарии, | ||
использующие эту конструкцию, продолжат работу без изменений в поведении. | использующие эту конструкцию, продолжат работу без изменений в поведении. | ||
=== Обходные пути === | === Обходные пути === | ||
Строка 82: | Строка 89: | ||
Если в вашей системе использовалось общее глобальное пространство для хранения общих данных и функций, | Если в вашей системе использовалось общее глобальное пространство для хранения общих данных и функций, | ||
есть несколько способов реализации такого поведения: | есть несколько способов реализации такого поведения: | ||
==== Постоянное хранилище ==== | ==== Постоянное хранилище ==== | ||
Строка 97: | Строка 105: | ||
ps.myvar = "value"; // это значение доступно для всех пользователей хранилища с именем "my-global-storage" | ps.myvar = "value"; // это значение доступно для всех пользователей хранилища с именем "my-global-storage" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Прототип глобального объекта ==== | ==== Прототип глобального объекта ==== | ||
Строка 127: | Строка 136: | ||
Таким образом, первый способ обращения будет работать только в том случае, если myVar не определена в верхних областях видимости. | Таким образом, первый способ обращения будет работать только в том случае, если myVar не определена в верхних областях видимости. | ||
Строка 142: | Строка 152: | ||
Поддерживаются только глобальные хранилища, т.е. видимые по одному и тому же имени из всех файлов сценариев. | Поддерживаются только глобальные хранилища, т.е. видимые по одному и тому же имени из всех файлов сценариев. | ||
== Виртуальные устройства == | == Виртуальные устройства == | ||
Строка 165: | Строка 176: | ||
}); | }); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</translate> |
правки