Cooles Feature mit Funktionen...

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

TheShadow

Moderator

Betreff: Cooles Feature mit Funktionen...

BeitragFr, Apr 08, 2005 16:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Man kann in BBmax Funktion innerhalb anderer Funktion einhacken. Das bringt ganz neue Möglichkeiten... So kann man Codeteile praktisch hermetisch voneinander abtrennen...

BlitzBasic: [AUSKLAPPEN]

test()

Function test()
Global xyz=999

Print abc()

Function abc()
Print xyz
Return 7
End Function

End Function
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

diGGa

GruppenKaspar

BeitragFr, Apr 08, 2005 16:09
Antworten mit Zitat
Benutzer-Profile anzeigen
sind die unterfunktionen dann nur innerhalb der eltern-funktion verfügbar?
Gestern Nacht Schlug der Regen an mein Fenster
Ich ging durch das dunkle Zimmer und
glaubte im Licht der Straßenlampe
Den Geist unseres jahrhunderts auf der
Straße zu sehen
Der uns sagte, daß wir alle am Rande
des Abgrunds stehen.
- Al Steward


Athlon 64 3000+ / Radeon 9600 / 1024mb ddram

Suco-X

Betreff: ......

BeitragFr, Apr 08, 2005 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi.
Ja, das ist mir noch garnicht vorher aufgefallen. Geile Sache das. Habe gerade noch getestet. Das gleiche geht auch mit Types.
@Digga : Jo.
EDIT :
Ah, da kommt ja noch eine Frage auf. Eigentlich sollten nach dem gleichen Prinzip doch auch die Namespaces funktionieren. Ob es da wohl auch eine möglichkeit für gibt?
mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

TheShadow

Moderator

BeitragFr, Apr 08, 2005 16:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Das mit types ist klar - das geht in C++ auch
Funktion ist natürlich nur in dem jeweiligen Block verfügbar - wie alles andere auch
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

stfighter01

BeitragFr, Apr 08, 2005 18:37
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm weil ihr gerade namespaces anschneidet.

ich hab gerade darüber nachgedacht, das es eigentlich keine möglichkeiten gibt, module v. anderen abzuschotten wenn sie nicht in verwendung sind.
d.h. so wie in java muss man ja klassen mit import importieren um sie verwenden zu können (bzw.: deren ellenlangen namen zu gänze schreiben, was aber nach möglichkeit niemand macht)
jetzt werden da in bälde ziemlich viele module entstehen (Guis, physik ...)
wenn manche davon gleiche namen haben gibts da wohl bald ziemliches chaos geben.
zumindest irgendeine vernünftige richtlinie für namensgebung wäre sinnvoll.
import ist meines wissens ja für module vorgesehen, aber nicht für die direkten anwendungen, oder irre ich mich hier?


mfg stfighter
Denken hilft!

TheShadow

Moderator

BeitragFr, Apr 08, 2005 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
dazu ist framework gedacht - dann musst du einzeln module importieren (außer ein modul importiert von selbst andere module)
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

regaa

BeitragFr, Apr 08, 2005 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Types in Types und Funktionen in Funktionen gehen? Hab ich nie ausprobiert, weil BMax noch mit ganz anderen oop Sachen Probleme hat. Fette Sache dat.
Hat Mark das irgendwo erwähnt?
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net

stfighter01

BeitragFr, Apr 08, 2005 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm ok, damit sollte dieses problem auch aus der welt geschafft sein Smile

mfg stfighter
Denken hilft!

TheShadow

Moderator

BeitragFr, Apr 08, 2005 21:30
Antworten mit Zitat
Benutzer-Profile anzeigen
hm? basis-oop-zeug fruchtet doch ganz gut - oder was meinst du regaa?
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

regaa

BeitragFr, Apr 08, 2005 22:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Also mir war durchaus bekannt das es in C# oder Java geht, aber in blitzmax hab ich das noch nie ausprobiert^^.
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net

D2006

Administrator

BeitragFr, Apr 08, 2005 23:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

er wollte wohl er auf folgendes hinaus:

regaa hat Folgendes geschrieben:
... weil BMax noch mit ganz anderen oop Sachen Probleme hat


Was meinst du damit?

MfG
D2006

regaa

BeitragSa, Apr 09, 2005 1:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Stichwort private public Kapselung (bleibt das nun so wie es ist?)

Properties wären auch net schlecht, falls es jemals hinzugefügt werden wird.

Und ein paar andere Sachen die mir um 1:42 nicht einfallen. Aber Bmax ist ja noch Beta drum ist es atm wurscht.
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net

BladeRunner

Moderator

BeitragSa, Apr 09, 2005 17:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Das englische Forum weisst da aber Probleme auf:
Code: [AUSKLAPPEN]
Strict
rem
Nesting things and seeing what happens
endrem
Function Pepe(Variable:String)
   print Variable
   dentro()
   Function Dentro()
      print Variable
   End function
End Function
pepe("Hello")


..führt zum Absturz, da Variable nit deklariert wurde, es der compiler jedoch trotz strict nit bemängelt.
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
 

Dreamora

BeitragSa, Apr 09, 2005 17:44
Antworten mit Zitat
Benutzer-Profile anzeigen
bei mir läufts ohne absturz ... Aber das Resultat zeigt mehr oder weniger, dass die Scopes allerdings noch schrott sind.
Zitat:

Hello
æ?®ä‰œæ¥¬ç©´æ…?屸浴屰湵楴汴摥⸴敤畢⹧硥eå˜
Oå˜ Oå˜ Oå˜ Oå˜ Oå˜ Oå˜ Oå˜ Oå˜ Oå˜ Oå˜ Oå˜ Oå˜ Oå˜ Oå˜
Oå˜ Oå˜ Oå˜ Oå˜ Oå˜ Oå˜ Oå˜ Oå˜ Oå˜ Oå˜ Oå˜ Oå˜ Oå˜ Oå˜

das wäre noch unendlich so weiter gegangen mit dem kryptischen Gewirr wenn ichs net abgebrochen hätte Wink

(BMax 1.06 Win)


Folgender Code hingegen geht fehlerfrei und wie erwartet:

Code: [AUSKLAPPEN]
Strict
Rem
Nesting things and seeing what happens
endrem
Function Pepe(Variable:String)
   Global Vari:String
   vari = variable
   Print vari
   dentro()
   Function Dentro()
      Print vari
   End Function
End Function
pepe("Hello")
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group