Xtend 语法说明

Xtend syntax clarification

我试图 100% 理解以下 Xtend 语法的含义:

        myVar.addSelectionListener(
           [MultiSelectionEvent<String> event |
               println(event.toString)
           ]
        )

在实施 MultiSelectionListenener 时,必须实施 selectionChange 方法,该方法本身采用 MultSelectionEvent 对象作为参数。

我知道在我上面的代码中,我在我的代码中提供了内联实现。但是任何人都可以提供有关语法的更多详细信息吗?

比如Xtend什么时候用[ ]或者|?

这就是 Xtend 的 lambda 语法。所以在 Java 你会写:

    myVar.addSelectionListener(
       (MultiSelectionEvent<String> event) -> {
           println(event.toString)
       }
    );

Xtend 只是将 (params)=>{code} 替换为 [<params>|<code>]