Образцы из Xpand -
Могу ли я получить несколько хороших учебников по XP и... мне нужно получить информацию о таких командах, как LET. Было бы лучше, если бы кто-то мог опубликовать несколько образцов на нем.
Проблема, с которой я сталкиваюсь, похожа на... я запускаю цикл for и после проверки некоторых условий мне нужно увеличить счетчик. но я не могу этого сделать. когда я увеличиваю счетчик, он печатается в выходной файл.
Заранее спасибо.
2 ответа
Есть проработанный пример, который шаблоны Ant скриптов. Эта же статья переиздана на DZone.
Более конкретно, этот документ представляет этот пример на LET
оператор:
<<LET packageName + "." + className AS fqn>>
the fully qualified name is: <<fqn>>;
<<ENDLET>>
Наконец, из этого поста на форуме openArchitecureWare:
Оператор LET действительно прост: он создает локальную константу с указанным значением и областью, в которой эта константа видима. Это также означает, что инструкция LET непригодна для циклического поведения.
На самом деле, если вы пытаетесь выполнить цикл, вы в основном решаете проблемы не в том месте. Шаблоны XPand предназначены только для генерации текстовых артефактов, тогда как большая часть логики, лежащей в основе генерации, должна быть реализована в Xtensions. Xtend также не имеет конструкции цикла, но можно найти альтернативу, если вы хотите следовать функциональной парадигме программирования. Также обратите внимание на метод indexOf в oaw.List.
Этот ответ относится ко второму вопросу, опубликованному с использованием второго абзаца. Вы можете остановить вывод значения выражения с помощью цепного оператора (->). Например:
<<counterInc()->"">>
Смотрите пример дляthrowError (Object o) в официальной справочной онлайн-документации здесь: http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.xpand.doc%2Fhelp%2Fch04s02.html
Вы также можете найти раздел "Расширения счетчика" полезным для операций счетчика в Xpand.