2015-04-16 388 views
1
String someMethod(def columnOne, int number, columnName){ 
    return columnOne + '-' + number + "${ -> (columnName == '') ?: '-' + columnName}" 
} 

,當我把它用:貓王運營商的GString在Groovy

someMethod('one', 2, '') 

我得到以下結果:

one-2true 

爲什麼關閉返回true但不是''-somehting

回答

4

你不需要這裏的貓王,而是常規的三元組,像這樣:

(columnName ? '-'+columnName : '') 

埃爾維斯是短期的x ?: y =>x ? x : ycolumnName==''結果然後簡單地是true,這將打印。

+0

Ooo現在我看到了我的錯誤。謝謝。 – Xelian

1

充分利用groovy的GString。字符串連接很昂貴。

return "$columnOne-$number${columnName ? '-' + columnName : ''}"