Return Problemchen
Übersicht

![]() |
ozzi789Betreff: Return Problemchen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
Ich gerade n sau blödes problem Ich versuch gerade in einer Function einen wert zurück zu geben, und das beispiel inner hilfe hab ich schon angegugt ![]() Code: [AUSKLAPPEN] Graphics 300,200 t While Not KeyHit(1) Text 0,0,test Flip Wend Function t() test=6 Return test End Function Sollt doch funktionieren oda ? >< |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Deine Function heißt
t() und nicht test() Also entweder du benennst die Function um oder der Aufruf in Text 0,0,t |
||
[BB2D | BB3D | BB+]
|
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Funktion heist t und was zurück gegeben wird heist t , was is da falsch ![]() |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
- Zuletzt bearbeitet von ozzi789 am Di, Okt 07, 2008 21:36, insgesamt einmal bearbeitet
Fredko |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Willst du die Variable bzw. deren Wert ausgeben? Dann sollte es Bla=t heißen. Zudem ist "test" eine lokale Variable, die nur in der Funktion benutzt wird. Wäre sie Global, würde es Funktionieren.
Edit: Ja, t gibt was zurück, aber test wird außerhalb der Funktion nur neu deklariert -> 0 |
||
! |
![]() |
darth |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kleine Erklärstunde:
Wenn du mit Return etwas zurückgibst, dann wird das nicht einfach so irgendwo hingespeichert - es sei denn du machst test global, aber das interessiert hier nicht. Wenn du den Return-Wert also verwenden willst, dann solltest du ihn zwischenspeichern... Allgemein: Variabel = Term so auch hier, die Funktion wirft einen Term zurück (hier halt nur eine Zahl, aber das reicht um ein Term zu sein -.-) Also: Code: [AUSKLAPPEN] variabel=fnc()
while not keyhit(1) text 10,10,variabel flip 0 : cls wend : end function fnc() test=6 return test end function Was geschieht da? in Variabel wird der Return-Wert der Funktion fnc() gespeichert. Wenn du diesen Wert nun weiterhin verwenden willst, ist er in variabel drin, du musst also diesen verwenden. Die Variabel "test" ist nicht global und somit NUR innerhalb der Funktion definiert, wo du sie benutzt. "fnc" ist der Name der Funktion und somit KEINE Variabel, kann also nicht als solche benutzt werden. ... sollte alles sein :/ hoffe es war verständlich. |
||
Diese Signatur ist leer. |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das heist ich mus die Variable Global deklarieren ? ![]() edit : ja es stimmt ![]() @darth Danke viel mals für deine ausführliche erklärung, hat mir geholfen !! *keks geb* (: |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du die Variable Global deklarierst, kannst du dir das Return doch vollkommen sparen... Der Sinn hinter Return![]() Den Unterschied zwischen Funktionsaufruf und Variable kann doch so schwer nicht sein... |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. Das Problem ist immer noch das die Function innerhalb der While Schleife nie aufgerufen wird! t<>Test
2. Wenn bei einer Function ein Wert zurückgeben werden soll dann müssen beim Aufruf Klammern gesetzt werden! Code: [AUSKLAPPEN] Graphics 300,200
While Not KeyHit(1) Text 0,0,test() Flip Wend Function test() t=6 Return t End Function |
||
[BB2D | BB3D | BB+]
|
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ach jetz hats klick gemacht die klammern, habs schon mal so versucht halt ohne klammern, und dan kam ich auf den falschen weg ><'
thx für eure guten erklärungen und beispiele ![]() |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group