Образцы из Xpand -

Могу ли я получить несколько хороших руководств по XP и... мне нужно получить информацию о таких командах, как LET. Было бы лучше, если бы кто-то мог разместить на нем несколько образцов.

Проблема, с которой я сталкиваюсь, похожа на то, что я запускаю цикл for и после проверки некоторого условия мне нужно увеличить счетчик. но я не могу этого сделать. когда я увеличиваю счетчик, он печатается в выходной файл.

Заранее спасибо.


person Reji    schedule 18.01.2009    source источник


Ответы (2)


Существует рабочий пример, который шаблонирует скрипты Ant. Эта же статья перепечатана на DZone.

В частности, эта статья представляет этот пример с оператором LET:

<<LET packageName + "." + className AS fqn>>
  the fully qualified name is: <<fqn>>;
<<ENDLET>>

Наконец, из этого сообщения на форуме openArchitecureWare:

Оператор LET действительно прост: он создает локальную константу с указанным значением и областью видимости, в которой эта константа видна. Это также означает, что оператор LET непригоден для зацикливания.

На самом деле, если вы пытаетесь зациклиться, вы в основном решаете проблемы не в том месте. Шаблоны XPand предназначены только для создания текстовых артефактов, в то время как большая часть логики, лежащей в основе генерации, должна быть реализована в расширениях. В Xtend также нет конструкции цикла, но можно найти альтернативу, если вы хотите следовать парадигме функционального программирования. Также обратите внимание на метод indexOf в oaw.List.

person jamesh    schedule 20.01.2009

Этот ответ относится ко второму вопросу, опубликованному с использованием второго абзаца. вы можете остановить печать значения выражения с помощью оператора цепочки (->). Например:

<<counterInc()->"">>

См. пример для 'throwError (Object o)' в официальной интерактивной справочной документации здесь: http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.xpand.doc%2Fhelp%2Fch04s02.html

Вы также можете найти раздел 'Расширения счетчиков' полезными для операций со счетчиками в Xpand.

person Sujju    schedule 14.04.2015