Я играл с переменными назначениями в Руте, когда наткнулся на этот сценарий с результатом, которого я действительно не понимаю:
DECLARE testType (Annotation ann, BOOLEAN bool1, BOOLEAN bool2);
ANNOTATION a1, a2;
BOOLEAN b1,b2;
d:Document{-> a1=d};
Document{-> b1 = a1==a2};
Document{-> b2 = a1!=a2};
"demo"{->CREATE(testType, "bool1"=b1, "bool2"=b2, "ann"=a2)};
Я использовал Ruta Workbench 2.8.0 с Eclipse 2019-09 интерпретировать простой текстовый файл, который включает в себя слово «демо». Поскольку я не смог найти каких-либо подробностей о VariableAssignmentExpresssion в Ruta Guide и не было выдано исключение, я ожидаю, что это будет действительный код Ruta. Вывод показан на этом снимке экрана обозревателя аннотаций . Как вы можете видеть, обе логические функции ложны, а функция «ann» вообще отсутствует. Вместо этого я ожидал, что
- bool2 , чтобы быть истинным,
- ann , чтобы быть нулевым (и указан как таковой).
Может кто-нибудь указать мне на то, что мне здесь не хватает? Или это ошибка?