2016-05-23 24 views
0

如果我使用Groovy字符串模板: http://docs.groovy-lang.org/latest/html/documentation/template-engines.html#markuptemplate-gotchas简写为常规字符串

我有一个变量$ 1,名称,我想说是这样的:

${name1? name1:''} ${name2? 'name2 was here, too': ''} 

有一个更清洁的方式来写这样的表达。 鉴于我不知道$ name1,$ name2是否为空。如果是,打印空白或不打印任何东西都可以。我只是不想'空'作为文本。

回答

0
${name1 ?: ''} ${name2 ? 'name2 was here, too' : ''} 
1

有这样的事情作为一个猫王操作:

def foo = bar?:baz 

等于呼唤:

def foo = bar ? bar : baz 

在你的情况,你可以使用它像这样:

${name1?:''} 
+1

吹毛求疵:等价代码是'吧? bar:baz';常规thruth而不是空检查。 – cfrick

+0

@cfrick谢谢你指出,我已经编辑了答案 – CptBartender

相关问题