Ich habe die folgende Methode, wo ich nur die event.status
Eigenschaft testen will, ob status
hat bestanden:-Test nur, wenn die Variable nicht null ist, wenn Anweisung
def findEvent(String desc, String status = null, Collection events) {
return events.find {
it.description == desc && \\If status is not null: it.status == status
}
throw new Exception("Review Event Record Not Found: ${desc}")
}
Ich dachte, es wie dies geschehen könnte, aber es scheint nicht zu funktionieren:
def findEvent(String desc, String status = null, Collection events) {
return events.find {
it.description == desc && (status != null ?: {it.status == status})
}
throw new Exception("Review Event Record Not Found: ${desc}")
}
Gibt es eine Möglichkeit, dies zu tun? Oder muss ich zurück zu etwas wie diesem gehen:
if (status != null) {
return events.find {
it.description == desc && it.status == status
}
} else if (status == null) {
return events.find {
it.description == desc
}
}
Gibt es eine Art von Best Practice?
(it.description == desc) && ((status == null) || (it.status == status)) sieht perfekt aus. Ich bestätige, dass es funktioniert, wenn ich eine Chance bekomme. Zugegeben, das war das erste Mal, dass ich den Elvis-Operator getroffen habe, also spielte ich irgendwie im Dunkeln. Prost, Dave –