xtext/xtend 使用 join 创建包含多个字段的列表

xtext/xtend use join to create list with multiple fields

我想以 A=0, B=1 的形式将枚举 enum State{A(0),B(1)} 打印为逗号分隔列表。为此xtext/xtend提供了一个join操作。但是,我找不到有关如何访问枚举的多个字段的任何信息。枚举有一个 toStringnumVal 方法。

例如{«State::values.join(', ') [toString»=«numVal]»} 不起作用。这种操作的正确语法是什么?

我认为你的双冒号“::”有问题。

println( State.values.join(', ')['''«toString»=«numVal»'''] ) 工作正常。

或者你可以这样做:println( State.values.map['''«toString»=«numVal»'''].join(', ') )

两者都产生:A=0, B=1