来自Xpand的样本 -

时间:2009-01-18 17:45:08

标签: java eclipse xtext oaw xpand

我可以获得一些关于XPand的好教程..我需要获取有关LET等命令的信息。如果有人可以在其上发布一些样本会更好。

我面临的问题就像..我运行一个“for”循环,并在检查一些条件后,我需要增加一个计数器。但我无法这样做。当我递增计数器时,它会被打印到输出文件。

提前致谢。

2 个答案:

答案 0 :(得分:1)

有一个worked example模板Ant脚本。同一篇文章在DZone上重新发表。

更具体地说,this paperLET运算符上显示了此示例:

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

最后,来自openArchitecureWare forum上的这篇文章:

  

LET语句非常简单:它创建一个具有指定值的局部常量和一个可见此常量的范围。这也意味着LET语句不能用于循环行为。

     

事实上,如果你试图循环,你基本上是在错误的地方解决问题。 XPand模板仅用于生成文本工件,而生成的大多数逻辑应该在Xtensions中实现。 Xtend也没有循环结构,但是如果你愿意遵循函数式编程范式,它就有可能找到替代方案。另外,请注意oaw.List的'indexOf'方法。

答案 1 :(得分:0)

此答案与使用第二段发布的第二个问题有关。您可以使用链式运算符( - &gt;)停止表达式值的打印。 例如:

<<counterInc()->"">>

请在此处的官方在线帮助文​​档中查看“ throwError(Object o)”的示例: http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.xpand.doc%2Fhelp%2Fch04s02.html

您可能还会发现'计数器扩展程序'部分对Xpand中的计数器操作很有帮助