If statement 使用if语句修改groovy方法调用
我想要一个方法调用,其中If statement 使用if语句修改groovy方法调用,if-statement,groovy,If Statement,Groovy,我想要一个方法调用,其中if!行[已连接]。等于(“”) 然后 Event(id: "event_${row[eventid]}", externalId: "event_${row[eventid]}", connected: row[connected]){ 但是如果行[connected]。等于(“” 然后 我不想在if-else语句中复制两次代码,因为事件方法的大括号中有大量代码 例如,我可以简单地使用美元符号来实现这一点,以便调用仍然有效吗?在Groovy中使用命名参数的方法调
if!行[已连接]。等于(“”)
然后
Event(id: "event_${row[eventid]}", externalId: "event_${row[eventid]}", connected: row[connected]){
但是如果行[connected]。等于(“”
然后
我不想在if-else语句中复制两次代码,因为事件方法的大括号中有大量代码
例如,我可以简单地使用美元符号来实现这一点,以便调用仍然有效吗?在Groovy中使用命名参数的方法调用只是将
映射传递给该方法,因此您可以说
def eventParams = [
id: "event_${row[eventid]}", externalId: "event_${row[eventid]}"
]
if(row[connected]) { // empty string is Groovy-false, non-empty is true
eventParams.connected = row[connected]
}
Event(eventParams)
Groovy中带有命名参数的方法调用只是将Map
传递给该方法,因此您可以说
def eventParams = [
id: "event_${row[eventid]}", externalId: "event_${row[eventid]}"
]
if(row[connected]) { // empty string is Groovy-false, non-empty is true
eventParams.connected = row[connected]
}
Event(eventParams)
或者一句厚颜无耻的话:
Event( [ id : "event_${row[eventid]}",
externalId: "event_${row[eventid]}" ] <<
row[connected] == '' ? [:] : [ connected: row[connected] ] )
Event([id:[Event.${row[eventid]}),
externalId:“event_${row[eventid]}”]或厚脸皮的单行线:
Event( [ id : "event_${row[eventid]}",
externalId: "event_${row[eventid]}" ] <<
row[connected] == '' ? [:] : [ connected: row[connected] ] )
Event([id:[Event.${row[eventid]}),
externalId:“event_${row[eventid]}”]非常酷,虽然不会用于将来理解我的代码的人哈哈,但也不会用于将来理解我的代码的人哈哈