Движок правил wb-rules 1.7: различия между версиями

Нет описания правки
(Отметить эту версию для перевода)
Строка 5: Строка 5:


= Сценарии = <!--T:2-->
= Сценарии = <!--T:2-->


== Изоляция сценариев == <!--T:3-->
== Изоляция сценариев == <!--T:3-->
Строка 12: Строка 11:
Начиная с версии wb-rules 1.7, локальные переменные и функции, обьявленные в файле сценария не видны в других сценариях.
Начиная с версии wb-rules 1.7, локальные переменные и функции, обьявленные в файле сценария не видны в других сценариях.
Таким образом, каждый сценарий может определять свои функции и переменные без риска изменить поведение других сценариев.
Таким образом, каждый сценарий может определять свои функции и переменные без риска изменить поведение других сценариев.


=== Пример === <!--T:5-->
=== Пример === <!--T:5-->
Строка 53: Строка 51:
}, 5000);
}, 5000);
</syntaxhighlight>
</syntaxhighlight>


<!--T:13-->
<!--T:13-->
Строка 66: Строка 63:
<!--T:14-->
<!--T:14-->
</pre>
</pre>


<!--T:15-->
<!--T:15-->
Строка 79: Строка 75:
myFuncOne /etc/wb-rules/rules1.js:6 preventsyield
myFuncOne /etc/wb-rules/rules1.js:6 preventsyield
</pre>
</pre>


=== Примечание === <!--T:16-->
=== Примечание === <!--T:16-->
Строка 97: Строка 90:
Начиная с версии 1.7, в подобной конструкции обычно нет необходимости. Тем не менее, старые сценарии,
Начиная с версии 1.7, в подобной конструкции обычно нет необходимости. Тем не менее, старые сценарии,
использующие эту конструкцию, продолжат работу без изменений в поведении.
использующие эту конструкцию, продолжат работу без изменений в поведении.


=== Обходные пути === <!--T:19-->
=== Обходные пути === <!--T:19-->
Строка 104: Строка 96:
Если в вашей системе использовалось общее глобальное пространство для хранения общих данных и функций,
Если в вашей системе использовалось общее глобальное пространство для хранения общих данных и функций,
есть несколько способов реализации такого поведения:
есть несколько способов реализации такого поведения:


==== Постоянное хранилище ==== <!--T:21-->
==== Постоянное хранилище ==== <!--T:21-->
Строка 125: Строка 116:
ps.myvar = "value"; // это значение доступно для всех пользователей хранилища с именем "my-global-storage"
ps.myvar = "value"; // это значение доступно для всех пользователей хранилища с именем "my-global-storage"
</syntaxhighlight>
</syntaxhighlight>


==== Прототип глобального объекта ==== <!--T:27-->
==== Прототип глобального объекта ==== <!--T:27-->
Строка 165: Строка 155:
<!--T:36-->
<!--T:36-->
Таким образом, первый способ обращения будет работать только в том случае, если myVar не определена в верхних областях видимости.
Таким образом, первый способ обращения будет работать только в том случае, если myVar не определена в верхних областях видимости.


== Постоянное хранилище данных == <!--T:37-->
== Постоянное хранилище данных == <!--T:37-->
Строка 185: Строка 173:
<!--T:41-->
<!--T:41-->
Поддерживаются только глобальные хранилища, т.е. видимые по одному и тому же имени из всех файлов сценариев.
Поддерживаются только глобальные хранилища, т.е. видимые по одному и тому же имени из всех файлов сценариев.


== Виртуальные устройства == <!--T:42-->
== Виртуальные устройства == <!--T:42-->