Was ist der Zweck von "<<" (Doppel-weniger als) in groovy
Sah ich in einige der Codes, die ich nicht in der Lage bin zu verstehen, den Zweck der << wie in den folgenden Beispielcode
def renderFiles(args) {
def model = []
args.each { fileArgs ->
model << createModel(fileArgs.id,fileArgs.path,fileArgs.ext)
}
render view:'show', model: [files:model]
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist ein
leftShift
Betreiber. In groovy operator-überladen implementiert ist, siehe hier und der neue docs für Referenz . In diesem speziellen Fall das hinzufügen eines Elements zur Liste Betrieb überlastet ist.Statt:
model.add(createModel(fileArgs.id,fileArgs.path,fileArgs.ext))
Können Sie einfach schreiben:
model << createModel(fileArgs.id,fileArgs.path,fileArgs.ext)
Es ist eine Art von Kurzschrift. Es gibt auch andere Operatoren außer Kraft gesetzt für die List-Klasse, z.B.
plus()
,minus()
. Sehen hier.In groovy
<<
operator addiert das Ergebnis des Ausdrucks auf der rechten Seite der Auflistung auf der linken Seite