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