这是一个简单的MOF模型到文本脚本:
[comment encoding = UTF-8 /]
[module test('http://www.eclipse.org/uml2/2.1.0/UML')/]
[template public test(element : Model)]
[comment @main /]
[file ('test.txt', false, 'UTF-8')]
start
[loop(element)/]
[loop(element)/]
end
[/file]
[/template]
[template public loop(element : Model)]
[for (var : Integer | Sequence{1..3})]
[var/]
[/for]
[/template]
它生成以下文本:
start
1
2
3
1
2
3
end
如何在3之后删除多余的新行?谢谢!
答案 0 :(得分:2)
您可以在for:
中使用分隔符[template public loop(element : Model)]
[for (var : Integer | Sequence{1..3}) separator('\n')]
[var/][/for]
[/template]
或者你可以修剪模板“loop”的结果:
[template public loop(element : Model) post(trim())]
[for (var : Integer | Sequence{1..3})]
[var/]
[/for]
[/template]
答案 1 :(得分:2)
post(trim())
会帮助你吗?
我使用的一些例子:
[template public bodyOperation(g : Getter) ? post (trim())]
[template public typeKind(t : Type) post (replaceAll('\n', '').trim())]
答案 2 :(得分:0)
似乎我找到了一个黑客:
[template public loop(element : Model)]
[for (var : Integer | Sequence{1..3})]
[if i>1]
[/if][var/][/for]
[/template]
但它有点难看......