Self ? *GELÖST*
Übersicht

gambleBetreff: Self ? *GELÖST* |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
kann mir jemand kurz den Verwendungszweck von Self anhand eines kleinen Beispiels erklären? Verstehe den Befehl nich ganz ![]() |
||
- Zuletzt bearbeitet von gamble am So, Apr 24, 2005 10:36, insgesamt einmal bearbeitet
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Self ist eigentlich nur eine Referenz auf die aktuelle Instanz eines Types:
Code: [AUSKLAPPEN] Type test Field x Field y Method Move(x, y) Self.x = x Self.y = y End Method End Type Verwendet wird es meistens wenn Fields gleich heissen wie die Parameter einer Funktion. Code: [AUSKLAPPEN] x = x
Dies würde ja keinen Sinn ergeben. Mit Self.x kann man in diesem Fall auf das Field x der aktuellen Instanz zugreifen. Self kann aber auch benutzt werden um das Objekt einer Funktion zu übergeben etc. : Code: [AUSKLAPPEN] Type test Method Get:test() Return Self End Method End Type Local t:test = new test Local t2:test = t.Get() Wäre genau das gleiche wie t2 = t |
||
gamble |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke, jetzt wird mir einiges klar ![]() Bevor ich noch einen Thread aufmache poste ich die Frage lieber hier: Wo ist each hin? Habe nur EachIn gefunden, welches aber auch nicht mit Types funktioniert ? |
||
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
in bmax musst du dir listen selber anlegen. es sind nicht mehr alle einträge eines types automatisch eine liste... | ||
MrKeks.net |
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
EachIn bezieht sich auf eine Liste bzw. ein Array und wird benutzt um durch die Objekte zu steppen (Iterieren?).
Types sind in Bmax ja nicht automatisch in einer Liste. Das heisst man kann von einem Type mehrere unabhängige Listen erstellen. Bsp für Array: Code: [AUSKLAPPEN] Local a:Int[] = New Int[20] For Local b:Int = EachIn a b = 10 Next For Local b:Int = EachIn a Print b Next Bsp für Liste: Code: [AUSKLAPPEN] Local Werte:TList = CreateList() ListAddLast(Werte, 10) ListAddLast(Werte, 50) For Local b:Int = EachIn Werte Print b Next In die Listen kann man dann statt Int halt Type Instanzen reinmachen. |
||
gamble |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ah, okay. Dankeschön ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group