[Monkey] .monkey code via Include laden ?

Übersicht Andere Programmiersprachen Beginners-Corner

Neue Antwort erstellen

tft

Betreff: .monkey code via Include laden ?

BeitragDo, Jan 03, 2013 17:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich möchte bestimmt stellen im Monkey Code in Files auslagern um einen besseren überblick zu behalten.
Import arbeitet leider nur ausserhalb von Classen. Und Jungle ist mir zu nerfig. Die Fontdarstellung ist
extrem fehlerhaft. Kennt jemand für Note++ eine Erweiterung?

Gruss TFT
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

Farbfinsternis

BeitragDo, Jan 03, 2013 18:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Was hat die Modularisierung von Code mit dem Editor zu tun?
Farbfinsternis.tv

tft

BeitragDo, Jan 03, 2013 20:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

nicht modularisierung ...... sondern Code Abschnitte über das Filesystem einfügen. So wie in BB.
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

Farbfinsternis

BeitragDo, Jan 03, 2013 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Das nennt sich Modularisierung.

Nehmen wir an Deine Hauptdatei heisst "mygame.monkey" und Du hast einen Ordner für Includes welcher "imports" heißt. In diesem befindet sich die Datei "base.monkey". Jetzt schreibst Du in "mygame.monkey" einfach:
Code: [AUSKLAPPEN]

Import imports.base
Farbfinsternis.tv

BladeRunner

Moderator

BeitragDo, Jan 03, 2013 21:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem was TFT ja wohl hat ist dass er nicht ganze Klassen importieren will sondern innerhalb einer Klasse Teile in andere Files auslagern möchte, was Import wohl nicht zulässt (was mich nicht wundert wenn es ebenso funzt wie unter BMax). Gibt es unter Monkey kein Include mehr?
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Farbfinsternis

BeitragDo, Jan 03, 2013 22:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Es heißt schlicht anders (nämlich "Import") und arbeitet bei Monkey-Files im virtuellen Filesystem:
Code: [AUSKLAPPEN]

Import myImportDir.myImport


...während nativer Code direkt importiert wird:
Code: [AUSKLAPPEN]

Import "native/native.js"


Innerhalb einer Klasse kann man natürlich keinen Code importieren. Dank wesentlich umfangreicherem OOP (im Vergleich zu BlitzMax) kann man den Code aber so optimieren dass eine Klasse nicht tausende Zeilen lang wird.

Wenn es darum geht einen Class-Browser zu haben führt kein Weg an JungleIDE vorbei.
Farbfinsternis.tv

BladeRunner

Moderator

BeitragFr, Jan 04, 2013 9:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Import hast Du bei BMax ja auch, es ist also nicht so dass das Kind nur nen anderen Namen hätte.
Der Unterschied ist ja dass bei Import vorkompiliertes eingebunden wird während include quasi nur Quelltext an seine Stelle kopiert.
Und ich fand es nicht schlecht beide Möglichkeiten zu haben. Sei es drum, da Include als Keyword nicht mehr existiert haben wir eine Antwort auf Tfts Frage.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

tft

BeitragFr, Jan 04, 2013 16:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ja ...... ich bin da auch nun schon weiter. Aber ohne Deutsche Hilfe ist es schwer sich in das
System einzufinden. Da ich vorher ausschliesslich Prozedurale Sprachen verwendet habe. Fällt
es mir schwer mich da so ohne weiteres einzufinden.

Da ist zum beispiel die Tatsache das Classen die im Main code deklariert werden in Importierten
Classen nicht existieren. Bei dem versuch die Classen zu bündeln ging da natürlich eine ganze
weile garnichts mehr. Benutzt man in Importierten classen Monkey.App funktionen wie "Millisecs()" .
Muss man mojo nochmal importieren. Aber jetzt habe ich das ganze etwas durchschaut. OOP habe
ich zwar schon mit JAVA etwas kennen gelernt aber Max habe ich nie benutzt. Aber ich finde Monkey
sehr stimmig und gut durchdacht.

Aber den Code jetzt um zu strukturieren ist die Hölle.
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

Xaron

BeitragSa, Jan 05, 2013 14:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst auch weiter prozedural arbeiten. Du musst nicht zwingend OO verwenden mit Monkey.
Cerberus X - Monkey X Reloaded!

tft

BeitragSa, Jan 05, 2013 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Lassen sich denn Funktionen auch Importieren ?
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

Farbfinsternis

BeitragSa, Jan 05, 2013 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast Da ein Verständnisproblem: Du importierst keine Klassen oder Funktionen oder Haselnüsse, sondern Dateien. Was da drin steht ist Monkey völlig Banane.
Farbfinsternis.tv

BladeRunner

Moderator

BeitragSa, Jan 05, 2013 20:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Um genau zu sein importierst Du vorkompilierten Code, weswegen er auch in sich abgeschlossen sein muss - daher geht es zB nicht nur Teile einer Klasse zu importieren, oder nur Teile einer Funktion.
Wenn Du jedoch abgeschlossene Funktionen importierst geht das fabelhaft.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

tft

BeitragSo, Jan 06, 2013 0:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

euer wissen in ehren ... aber Vorcompilierter Code sind die Monkey Importe ja nun wirklich nicht.
Es sind ganz simple Text Dateien. Oder ich habe ein wirklich GROSSES Verständniss Problem.
Was mir aber einleuchtet ist das nicht teile einer Classe oder Funktion sinfoll in stücke gerissen werden können. Dazu müsste der Parser ja ewige Durchlläufe machen.

Aber mittlerweile ist mir klar das OOP eine ganz andere herangehens weise an der Gestaltung eines Codes
erfordert. Und mir ist jetzt auch das Getter und Setter prinzip klarer. Auch das wen ich Klassen von ausserhalb verwenden will, Funktionen definieren muss.

Aber Folding könnte die Monkey IDE schon gebrauchen.
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

BladeRunner

Moderator

BeitragSo, Jan 06, 2013 0:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn es bei Monkey so sit wie bei BMax, und nur von dem Fall kann ich reden, dann wird ein importiertes File einmal gebuilded und danach nicht mehr solange sich nichts daran ändert. D.h. es existieren Objectcodefiles die nur noch gelinkt werden müssen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Farbfinsternis

BeitragSo, Jan 06, 2013 0:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, das ist bei Monkey nicht so. Import ist hier einfach nur ein Include, es wird immer alles compiliert.
Farbfinsternis.tv

AnniXa

BeitragDo, Okt 10, 2013 12:47
Antworten mit Zitat
Benutzer-Profile anzeigen
tft hat Folgendes geschrieben:

Da ist zum beispiel die Tatsache das Classen die im Main code deklariert werden in Importierten
Classen nicht existieren.


Dagegen gibt es leichte abhilfe,
wenn deine main code datei z.b. main.monkey heist, brauchst du in den importierten dateieen ganz oben nur zu schreiben:
Code: [AUSKLAPPEN]
import main


dann kannst du alle imports in main haben, und alle importierten dinge brauchen einfach nur Import Main zu haben, dann kannst du alles von überall aus sehen.

Ansonsten würd ich jedem eine bessere IDE als TED empfehlen, jungle, mollusk und viele mehr gibt es ja inzwischen auf dem markt, das jeder etwas finden sollte.
|moonForge|
Ich bin Pokémon Meisterin seit 1998!

Neue Antwort erstellen


Übersicht Andere Programmiersprachen Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group