没有方括号的 Xtext 中的数组
Array in Xtext without square brackets
我想在 Xtext 的规则内实现一个数组,并使用 Xtend 模板生成代码。我已经检查过 this Post 但问题是,生成器会自动将方括号添加到生成的输出中。
我的 Xtext 规则如下例所示:
Rule:
'Rule' name=ID
('myarray' myarray+=DOUBLE(',' myarray+=DOUBLE)*)? &
'end' 'Rule'
;
terminal DOUBLE returns ecore::EDouble:
'-'? (("." INT) |
(INT ("." (INT)?)? (("e" | "E") ("+" | "-")? INT)?))
;
当我通过 Xtend 生成时,例如使用值 1,2,3
输出是 [1,2,3]
但我想跳过方括号并获得输出 1,2,3
.
怎么可能?
只需使用适当的方法输出列表
例如
'''«myarray.join(",")»'''
或
'''«FOR e : myarray SEPARATOR ","»«e»«ENDFOR»'''
我想在 Xtext 的规则内实现一个数组,并使用 Xtend 模板生成代码。我已经检查过 this Post 但问题是,生成器会自动将方括号添加到生成的输出中。
我的 Xtext 规则如下例所示:
Rule:
'Rule' name=ID
('myarray' myarray+=DOUBLE(',' myarray+=DOUBLE)*)? &
'end' 'Rule'
;
terminal DOUBLE returns ecore::EDouble:
'-'? (("." INT) |
(INT ("." (INT)?)? (("e" | "E") ("+" | "-")? INT)?))
;
当我通过 Xtend 生成时,例如使用值 1,2,3
输出是 [1,2,3]
但我想跳过方括号并获得输出 1,2,3
.
怎么可能?
只需使用适当的方法输出列表
例如
'''«myarray.join(",")»'''
或
'''«FOR e : myarray SEPARATOR ","»«e»«ENDFOR»'''