PyGTK und lambda Frage

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
CrackPod
User
Beiträge: 205
Registriert: Freitag 30. Juni 2006, 12:56

Hallo,

ich arbeite mich gerade in PyGTK ein und bin auf folgende 3 Zeilen gestoßen (hier geschrieben):

Code: Alles auswählen

   43           # It's a good idea to do this for all windows.
   44           self.window.connect("destroy", lambda wid : gtk.main_quit())
   45           self.window.connect("delete_event", lambda a1, a2 : gtk.main_quit())
Nun Frage ich mich, für was sie genau gut sind. Den lambda Operator habe ich schon in Manual nachgeschlagen und ich denke einigermaßen verstanden, aber wieso werden bei beiden verschiedene Variablen mitgegeben.
Soweit ich den lambda Operator verstanden hab, ist das doch überhaupt nicht notwendig? gtk.main_quit() braucht doch keine Variablen oder?

Wäre nett, wenn mir das jemand erläutern könnte.
LG
BlackJack

`gtk.quit()` erwartet keine Argumente, und genau deswegen kann man es in beiden Fällen nicht direkt benutzen, denn wie man an dem ``lambda``-Funktionen sieht, werden diese Funktionen *mit* Argumenten aufgerufen.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

BlackJack hat geschrieben:`gtk.quit()` erwartet keine Argumente, und genau deswegen kann man es in beiden Fällen nicht direkt benutzen, denn wie man an dem ``lambda``-Funktionen sieht, werden diese Funktionen *mit* Argumenten aufgerufen.
Stimmt nicht ganz,
self.connect("destroy", gtk.main_quit) funktioniert schon. Ob es klug ist weiss ich nicht ;)
Antworten