【问题标题】:Samples from Xpand -来自 Xpand 的样本 -
【发布时间】:2010-10-02 02:49:39
【问题描述】:

我能获得一些关于 XPand 的好教程吗?我需要获得有关 LET 等命令的信息。如果有人能在上面贴一些样本就更好了。

我面临的问题是......我运行一个“for”循环,在检查了一些条件后,我需要增加一个计数器。但我不能这样做。当我增加计数器时,它会打印到输出文件中。

提前致谢。

【问题讨论】:

    标签: java eclipse xtext oaw xpand


    【解决方案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' 方法。

    【讨论】:

      【解决方案2】:

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

      <<counterInc()->"">>
      

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-23
        • 1970-01-01
        • 1970-01-01
        • 2019-02-10
        • 1970-01-01
        • 2018-08-06
        • 2018-08-25
        • 2013-07-15
        相关资源
        最近更新 更多