[Monkey] TObject / Listen
Übersicht

![]() |
ToeBBetreff: TObject / Listen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo !
Ich wollte mir endlich auch mal einen kleinen einblick in die Sprache Monkey gönnen und wollte ein sehr kleines Sample schreiben, welches ich in Blitzmax schon geschrieben habe und jetzt in Monkey umsetzten möchte. Mein erstes Problem ist hierbei : Es gibt keine vordefinierte TList (oder ich bin zu Blöd diese in der Dokumentation zu finden). Deswegen habe ich mir gedacht, schreibste dir die Klasse selber. Doch da stoße ich an ein neues Problem : Ich kann keine Allgemeine TList-Klasse schreiben, da es offensichtlich auch keine TObject Stamm-Klasse gibt, sodass ich damit verschiedene Klassen in die Liste integrieren kann. Hat da jemand eine Lösung ? mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Stammklasse heisst einfach nur Object und Listen gibt es auch, sie heißen: List ![]() Schau mal in den docs: /docs/modules/index.html#/monkey.list |
||
Cerberus X - Monkey X Reloaded! |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah okay danke ![]() Wenn ich aber das hier schreibe : Code: [AUSKLAPPEN] Import monkey.list
... Global Liste:List = New List Meldet der dass er die Klasse 'List' nicht findet oO Woran könnte das liegen ? Edit Ah jetzt gehts : Code: [AUSKLAPPEN] Global Liste:= New List<Type>
Neues Problem : Ich möchte den Platz in der Liste in einer Node speichern. Dazu habe ich Code: [AUSKLAPPEN] Field Link:Node
Dort Meckert er mir an, das Node ein 'Duplicated identifier' ist, und in den modulen 'map' und 'list' vorkommt Habe ich in der Hilfe nachgeguckt und dort steht :Code: [AUSKLAPPEN] Class Node< T > Worfür steht das T ?
mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
T steht für Template. Du kannst den generischen Datentyp T also mit jedem beliebigen ersetzen. | ||
Cerberus X - Monkey X Reloaded! |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sry ich verstehs grad nicht.. Was muss ich da hinschreiben ^^ ?
Danke auf jedenfall ! mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
T ist sozusagen ein Parameter für die Klasse bzw. eher für deren Objekte. Damit kann man in dem Fall definieren, welcher Datentyp in jedem Listeneintrag gespeichert wird.
Daher musst du hier genau so wie mit der Liste vorgehen. ("<Type>" an den Typ anhängen) mfG mpmxyz PS: Das sind auf Java basierende Monkey-Spekulationen. ![]() |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das hatte ich mir zuerst auch gedacht, aber wenn ich schreibe :
Code: [AUSKLAPPEN] Field Link:Node<TBall>
(Wobei sich Field in der Klasse TBall befindet) Gibt es trotzdem eine Fehlermeldung... mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
Willst Du denn wirklich die Monkey Node verwenden oder ist Deine Node was anderes? Wenn ja, was genau hast Du damit vor? Was meinst Du mit "Platz in der Liste speichern"? Vllt. kannst Du ein etwas auführlicheres Beispiel geben? ![]() |
||
Cerberus X - Monkey X Reloaded! |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok, ich versuchs mal ![]() Also in Blitzmax würde dieser Code ja Funktionieren : BlitzMax: [AUSKLAPPEN] Type TKlasse Also eine Globale Liste für die Klasse "TKlasse" und ein jeweiliger Link in der Klasse für die eigene Position in der Globalen Liste. Schreib ich das Gleiche jetzt in Monkey, gibt er mir bei Node<TKlasse> eine Fehlermeldung : Code: [AUSKLAPPEN] Class TKlasse
Global Liste:= New List<TKlasse> Field Link:Node<TKlasse> Method New() Link = Liste.AddLast( Self ) End Method Method Remove() Link.Remove() End Method End Class Hier genau das Selbe, einmal ne Globale Liste von "TKlasse" und einen Jeweiligen Link (Node) zu dem Eintrag in der Liste, wo sich das Object dann befindet. Das brauch ich nämlich, um die Objecte auch irgendwie wieder Löschen zu können, sonst krig ich die aus der Liste auch nur umständlich wieder raus.. mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah jetzt verstehe ich! Das Problem ist, dass Node sowohl in der Map als auch in der Liste definiert ist.
Ersetze Zeile: Code: [AUSKLAPPEN] Field Link:Node<TKlasse> mit: Code: [AUSKLAPPEN] Field Link:list.Node<TKlasse> Eigentlich sollte Monkey den Unterschied aber begreifen, da die Node in der Map 2 Parameter hat... Mal bei Mark anfragen. ![]() |
||
Cerberus X - Monkey X Reloaded! |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen Dank ! es funzt jetzt !
mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group