Frank Küster: > Thorsten Haude <[EMAIL PROTECTED]> wrote: > > > In Deinem Beispiel ist <liste> ein Objekt, dem die Nachricht 'each' > > geschickt wird. Das 'each' wiederum hat einen Parameter, nämlich den > > Block '{ |<name>| body }'. > > ganz anders (und viel logischer) als was vorher jemand schrieb, dass > nämlich each eine Funktion sei, die etwas auf/mit dem Objekt mache (also > praktisch das Objekt als Argument bekommt), aber dann noch ein weiteres > Argument bekommt, nämlich den Block.
Verständlich, daß Du das verwirrend findest, aber genau wie Du es beschreibst, ist die Objektorientierung in Python implementiert: class foo(object): def init(self): self.bar = 0 def getbar(self): return self.bar def setbar(self, bar): self.bar = bar ... myFoo = foo() # erzeuge Instanz von foo foo.setbar(5) # setze bar von foo auf 5 'self' ist hier immer die Referenz auf das Objekt selbst und muß beim Aufruf der Methode nicht angegeben werden. foo.setbar(5) wird intern umgeformt zu setbar(foo, 5).[1] Daß der Parameter 'self' heißt, ist reine Konvention - wenn auch eine sehr strenge. J. [1]: Das führt dann auch dazu, daß man am Anfang oft von Meldungen à la 'falsche Anzahl an Parametern' bekommt und nicht versteht... -- When standing at the top of beachy head I find the rocks below very attractive. [Agree] [Disagree] <http://www.slowlydownward.com/NODATA/data_enter2.html>
signature.asc
Description: Digital signature