У меня есть следующая функция, определенная в groovy
def deploy_app(Map InputParameters, List OptionalParameters = []) {
String InputParametersString = InputParameters.inject([]) { acc, val -> acc + "--set ${val.getKey()}=${val.getValue()}" }.join(" ")
.
.
.
}
Что я хочу сделать, так это иметь возможность иметь параметр map InputParameters
, который будет иметь значение по умолчанию для пустой карты И также для строки InputParametersString
иметь значение по умолчанию пустой строки, если InputParameters
параметр не передан или является пустым.
Вот то, что я пытался использовать оператор Элвиса , но не работает
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
в качестве значения пустой строки?
спасибо