Parameter = LOCAL? (gelöst)
Übersicht

.Yukito.Betreff: Parameter = LOCAL? (gelöst) |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich wollte da mal frage, wenn man nun eine funktion hat mit nem parameter "id", ist der eigentlich LOCAL?
oder wie müsste man das machen? nacher LOCAL geht net, dann isses ja n "variable duplicate"... ![]() |
||
- Zuletzt bearbeitet von .Yukito. am Mo, Apr 19, 2004 15:11, insgesamt einmal bearbeitet
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst innerhalb einer Function beliebig viele lokale (und Globale) Variablen haben. Wenn Du eine Variable ohne "Global" in einer function benutzt, ist sie automatisch lokal für diese Funktion.
Bsp: Code: [AUSKLAPPEN] test=1
print dies ist das Lokale Test im Hauptprogramm"+test beispiel(test) print "und Test ist nach ende der funktion unverändert...:"+test waitkey() end function beispiel(x) print "dies wurde übergeben:"+x print" und dies ist die lokale Testvariable in der Funktion:"+test test=247 end function |
||
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 |
.Yukito. |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
die frage ist, ob das hier geht?
Code: [AUSKLAPPEN] Global test x=2 Hallo(x) Function Hallo(test) test=test-1 ; blabla End Function denn da kannst du in die funktion ja nicht Local test reinschreiben, da die variable ja schon verwendet wurde, denn du kannst ja nich Code: [AUSKLAPPEN] x=2 Local x schreiben.... die frage ist, ob test wenn es als parameter übergeben wird immer LOCAL ist, oder nicht.... denn ansonsten muss man ja sehr abwegige namen nehmen, damit das mit anderen benutzern nicht zu komlis kommt |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du test schon global definiert hast, gilt es natürlich auch in der Function als global.
Ich kann dir in dem Zusammenhang nur empfehlen, den Vars die local in einer Function gelten sollen, den Functionnamen voranzustellen, also z.B.: Code: [AUSKLAPPEN] Function Beispiel(bsp_test)
bsp_x=blubb ... end function... Konsequent angewandt erleichtert es dir einiges, da du immer weisst wo was herkommt. Für die Hauptschleife empfähle sich dann Code: [AUSKLAPPEN] main_varname
Aber die Namenskonventionen sind nun mal Geschmackssache... ![]() |
||
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 |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Die Parameter sind immer lokal. Falls es zufällig globale und lokale Variablen/Parameter mit gleichem Namen geben sollte, so haben immer die lokalen Variablen(natürlich nur innerhalb ihrer Gültigkeit) Vorrang.
Folglich kannst du deine Parameter nennen wie du willst. |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn man ein wenig ungarische Notation benutzt können so dinge eigentlich garnicht auftreten
global: prefix: g_ zB: global g_fPositionX# Wenn man dann noch "untersysteme" hat kann man das g_ durch das Systemprefix ersetzen. prefix {SysKürzel}_ zB: GUI -> gui_ global gui_hWindow Damit sollten sich eigentlich überschneidungen weitestgehend umgehend lassen. |
||
.Yukito. |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
umgehen, aber nicht bewältigen ![]() aber wenn parameter sowieso locals sind (habe ich mir aber auch irgendwie gedacht... ![]() thx @all ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group