Amostras de Xpand -
Pergunta
Posso obter alguns bons tutoriais sobre Xpand .. eu preciso para obter informações sobre comandos como LET. Seria melhor se alguém poderia postar algumas amostras do mesmo.
O problema que estou enfrentando é como .. i executar um loop "for" e depois de verificar alguma condição que eu preciso para incrementar um contador. mas eu sou incapaz de fazê-lo. quando eu incrementar o contador, ele é impresso para o arquivo de saída.
Agradecemos antecipadamente.
Solução
Há um trabalhou exemplo quais modelos Ant scripts. O mesmo artigo é republicado em DZone.
Mais especificamente, presentes este papel este exemplo do operador LET
:
<<LET packageName + "." + className AS fqn>>
the fully qualified name is: <<fqn>>;
<<ENDLET>>
Finalmente, a partir deste post sobre openArchitecureWare fórum :
A declaração LET é realmente simples: ele cria uma constante local com o valor especificado e um escopo em que esta constante é visível. Isto também significa que a declaração let é inutilizável para looping comportamento.
Na verdade, se você tentar loop, você está resolvendo, basicamente, problemas no lugar errado. Xpand modelos servem apenas para gerar artefatos textuais, enquanto a maioria lógica subjacente a geração deve ser implementada em Xtensions. O Xtend não tem uma construção de loop quer, mas é possível encontrar uma alternativa se você estiver disposto a seguir a programação de paradigma funcional. Além disso, tome nota do método de oaw.List o 'indexOf'.
Outras dicas
Esta resposta é referente à segunda questão postada usando o segundo parágrafo. você pode parar um valor de expressão de ficar impresso usando um operador de cadeia (->). Por ex:
<<counterInc()->"">>
Veja o exemplo para ' throwError (Object o) ' na documentação oficial ajuda on-line aqui: http: // ajuda. eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.xpand.doc%2Fhelp%2Fch04s02.html
Você também pode encontrar o ' extensões Contador ' seção útil para operações de combate em Xpand