2016-05-23 23 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

相關問題