[英]how to set default value for string variable in groovy
我在groovy中定義了以下函數
def deploy_app(Map InputParameters, List OptionalParameters = []) {
String InputParametersString = InputParameters.inject([]) { acc, val -> acc + "--set ${val.getKey()}=${val.getValue()}" }.join(" ")
.
.
.
}
我想要做的是能夠使映射InputParameters
參數具有默認值為空映射,並且如果InputParameters
參數未傳遞或為空,則字符串InputParametersString
的默認值為空字符串。
這是我嘗試使用elvis運算符但沒有工作
def deploy_app(Map InputParameters = [:], List OptionalParameters = []) {
String InputParametersString = "" ?: InputParameters.inject([]) { acc, val -> acc + "--set ${val.getKey()}=${val.getValue()}" }.join(" ")
.
.
.
}
也嘗試了這個
def deploy_app(Map InputParameters = [:], List OptionalParameters = []) {
String InputParametersString = InputParameters.inject([]) { acc, val -> acc + "--set ${val.getKey()}=${val.getValue()}" }.join(" ") ?: ""
.
.
.
}
那么我該如何做到這一點,以便在沒有傳遞InputParameters
時,我能夠將字符串InputParametersString
作為空字符串值?
謝謝
def deploy_app(Map InputParameters=[:], List OptionalParameters = []) {
String InputParametersString = InputParameters.inject([]) { acc, val -> acc + "--set ${val.getKey()}=${val.getValue()}" }.join(" ")
}
def r = deploy_app()
assert r instanceof String
assert r.length()==0
如果輸入映射為空,則InputParametersString
評估為正確地清空字符串
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.