Kleine Frage zu einer switch anweisung

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.
Treehouse
User
Beiträge: 39
Registriert: Freitag 14. Dezember 2007, 00:40

Kleine Frage zu einer switch anweisung

Beitragvon Treehouse » Sonntag 24. Februar 2008, 03:08

Hallo zusammen,

ich wollte die etwas andere art der switch Anweisung implementieren.
Leider verstehe ich nicht warum ich keine Ausgabe bekomme.

Wäre schön wenn mir mal jemand sagen könnte was ich falsch mache.

[code=]#!/usr/bin/env python

def foo():
print 'foo'

def bar():
print 'bar'

def default():
print 'default'

archive = {

'foo' : foo,
'bar' : bar
}

archive.get('foo', default)
[/code]

Gruß

Treehouse
Benutzeravatar
tux21b
User
Beiträge: 18
Registriert: Mittwoch 15. Februar 2006, 23:20
Wohnort: Linz.at
Kontaktdaten:

Beitragvon tux21b » Sonntag 24. Februar 2008, 03:26

Mit archive.get() bekommst du dann das Funktionsobjet, welches du dann ebenfalls mit () aufrufen kannst. Die beiden Klammern für den Funktionsaufruf fehlen aber noch bei dir. Das würde dann so ausschauen:

Code: Alles auswählen

archive.get('foo', default)()


Oder vllt etwas einfacher zu verstehen:

Code: Alles auswählen

handler = archive.get('foo', default)
handler()

Gruß
Christoph
Treehouse
User
Beiträge: 39
Registriert: Freitag 14. Dezember 2007, 00:40

Beitragvon Treehouse » Sonntag 24. Februar 2008, 08:35

Vielen Dank Christoph für deine Antwort.
Jetzt klappt alles so wie gewünscht

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder