Thema: guter Stiel. Argumente in Funktionen

Hallo,<P>ich hoffe dass das klar geht, wenn ich neben diesen ganzen hochmathematischen Problemen die hier in diesem Forum gelöst werden, das Bord mit meinen vielen Fragen zu programmierproblematiken, eher allgemeinerer Natur zuposte...   [img]images/icons/smile.gif" border="0[/img]<P>Meine allgemeine Frage:<P>Wie löst man einen, bzw. mehrere Calls am elegantesten. Folgende Situation:<P>mehrere Funktionen. Der call erfolgt immer aus einer Funktion herraus. Außer bei der ersten.<P><BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><HR><pre><P>Funktion1;<P>sub Funktion1 {<BR>   Funktion2;<BR>   }<P>sub Funktion2 {<BR>   Funktion3;<BR>   }<P>sub Funktion3 {<BR>   mach was;<BR>   }<BR></pre><HR></BLOCKQUOTE><P>Die Problematik:<P>Wie gesallte ich die Argumente für die funktionen wenn ich z.B in Funktion3 einen Wert brauche. Ich bin bestrebt dazu, natürlich die Erforderlichen Daten als Argument zu übergeben und mich nicht auf globale Variablen zu beziehen. Das gestaltet sich aber ziemlich schwierig. Ist es so, das man, wenn man mit Stil programmiert, die Werte über die Funktionen mittnimmt, in etwa so: (ich brauch in funktion 3 den Wert)<BR><BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><HR><pre><BR>var Wert = "irgendwas";<BR>Funktion1(Wert);<P>sub Funktion1 (Parameter1){<BR>   my Wert1 = Parameter1;<BR>   Funktion2(Wert1);<BR>   }<P>sub Funktion2 (Parameter1){<BR>   my Wert2 = Parameter1;<BR>   Funktion3(Wert2);<BR>   }<P>sub Funktion3(Parameter1) {<BR>    my Endlich_da = Parameter1;<BR>   mach was mit Endlich_da;<BR>   }<BR></pre><HR></BLOCKQUOTE><P>das wird natürlich verdammt schnell ziemlich unübersichtlihc, wenn man viele Werte braucht. <P>Oder ist so was vom Stil her auch in Ordnung? <BR><BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><HR><pre><P><BR>var Wert = "irgendwas";<BR>Funktion1<P>sub Funktion1 {<BR>   Funktion2;<BR>   }<P>sub Funktion2  {<BR>   Funktion3(Wert);<BR>   }<P>sub Funktion3(Parameter1) {<BR>    my schon_ da = Parameter1;<BR>   mach was mit schon_da;<BR>   }<BR></pre><HR></BLOCKQUOTE><P>Da ruf ich ja Funktion3 ordnungsgemäß auf. Allerdings bezieh ich mich in Funktion2 auf eine globale Variable. <P>Wenn ichs korrekt mache komm ich durcheinander. Wenn ichs einfach mache ist's mir nicht schön genug. <P>Wie macht ihr das?<P>thx, sel.<p>[ 01.07.2001: Beitrag editiert von: SeleCToR ]

Re: guter Stiel. Argumente in Funktionen

WOS ISSSST DAAS?<P>(In C)<BR><BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><HR><pre><BR>void f2(int);<BR>void f3(int);<P>void f1(int p) {<BR>  f2(p);<BR>}<P>void f2(int p) {<BR>  f3(p);<BR>}<P>void f3(int p) {<BR>   printf("%d", p);<BR>}<BR></pre><HR></BLOCKQUOTE><BR>Wozu den Parameter zwischenspeichern?

mfG whitehouse

3

Re: guter Stiel. Argumente in Funktionen

<BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von whiteheart:<BR><STRONG><BR>Wozu den Parameter zwischenspeichern?</STRONG><HR></BLOCKQUOTE><P>stimmt. ist natürlich viel besser so.<P>Aber zur eigentlichen Frage:<BR>Die Parameter muß ich komplett über alle Funktionen schleppen, bis ich die Funktion3 damit aufrufe!?!<P>na also doch kompliziert, aber ich machs mir anscheinend immer noch nen bisschen komplizierter als es sein muß...<P>thx, sel.

Re: guter Stiel. Argumente in Funktionen

Nun, bei diesen einfachen Funktionnen ist das ja egal. Sollte aber Rekursion ins Spiel kommen... Da gäbe es dann nur zwei Möglichkeiten: Parameterübergabe und Auflösung der Rekursion in einen Stack. Diese Parameterübergabe ist einfach das sicherste. Glaub das genügt.

mfG whitehouse

5

Re: guter Stiel. Argumente in Funktionen

jaja, genau. Parameterübergabe in einem Stack. Fand ich auch schon immer am sichersten, aber nur mit Auflösung der Rekursion. sonst nich so.<P>Dankeschön! hat mir sehr geholfen!<P>cu, sel.

Re: guter Stiel. Argumente in Funktionen

Und ich danke, dass ich helfen konnte.

mfG whitehouse

7

Re: guter Stiel. Argumente in Funktionen

Jo, biddeschön. Is ja auch alles nur just a Film... hehe...  [img]images/icons/smile.gif" border="0[/img]<P>cu, sel.

Re: guter Stiel. Argumente in Funktionen

ogvär

mfG whitehouse