Вверх ↑
Администрация
Ответов: 15295
Рейтинг: 1519
#1: 2007-05-31 13:29:52 ЛС | профиль | цитата
tsdima писал(а):
.. должно быть оптимизировано путём превращения в цикл.


Galkov писал(а):
Там и надо делать проверку...


проблема в том, что не понятно на каком уровне и как отлавливать такие вещи. Проще всего очевидно в самом компоненте: если его точка вызвана повторно, то труба.
Плюсы:
- компонент получает возможность достаточно гибко и оптимально разрешить ситуацию. Т.е. если MultiElement в режиме Function вообще ничего не будет делать при кольцевание, то какой-нибудь If будучи закольцованным точкой onFalse на свой вход очень элелегантно и красиво оптимизируется в цикл while...
Минусы:
- придется писать лишний код в каждой точке каждого элемента.

Сложнее будет сделать общий интерйейс на уровне среды путем выдачи ошибки кодогенерации при встрече кольца. Сложность основная будет в том, что некоторые элементы все таки допускают рекурсивность вызова точек без каких либо последствий и такие включения ошибок выдавать не должны.
карма: 27
0