
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Was in der Erklärung von irusoh1 fehlt, ist, dass die Variable ein Array(s) sein muss [...]
irusoh1 hat recht: die Variable muss kein Array sein. Zum Beispiel:
Ich muss 2 Ergebnisse aus einer Funktion zurückgeben.
Wenn die beiden (oder mehr) Ergebnisse Variablen zugewiesen werden sollen, deklarieren Sie sie einfach als global und weisen Sie ihnen in der Funktion Werte zu.
Es gilt als gute Programmierpraxis, die Anzahl der globalen Variablen zu minimieren. Es ist besser, einige Variablen per Referenz zu übergeben (wenn mehr als eine Variable zurückgegeben werden muss), als sie in einem globalen Bereich zu deklarieren.
irusoh1 hat recht: Die Variable muss kein Array sein. Zum Beispiel:
Meine Formulierung und mein Konzept sind nicht korrekt, um das Thema zu beantworten. Dennoch sehe ich den Zweck der Übergabe durch Verweis ist im Wesentlichen der praktische Weg, um Array (s) durch Funktion zu manipulieren.
Die Verwendung von übergebenen Parametern als Referenzfunktion auf Variablen hat nur die Praktikabilität, X Anzahl von Variable(n) zu ändern, plus eine Variable mit Rückgabe
Bei der Verwendung für ein Array können X Arrays in der Klammer mal Y Größen jedes Arrays verändert werden.
Arrays ae immer durch Referenz übergeben. Das Problem mit MQL-Arrays ist, dass sie nicht innerhalb der Funktion geändert werden können (wie resize) nur ihre Mitglieder können.
Das macht keinen Sinn und schränkt die Möglichkeiten der Array-Manipulation ein.
Vielleicht wurde dies in MQL5 behoben?
[...] Das Problem mit MQL-Arrays ist, dass sie nicht innerhalb der Funktion geändert werden können (wie resize) nur ihre Mitglieder können.
@ irusoh1 : Meinen Sie damit, die Funktionsparameter dynamisch zu machen ? Ich verstehe es auch nicht.
@ Gordon : Weißt du, warum man sagt, dass Parameter als Wert übergeben werden. Arrays können nur als Referenz übergeben werden'. Ich weiß, wie sich das auf den Code auswirkt, aber ich verstehe die Argumentation nicht. Gibt es zum Beispiel irgendwelche Vorkommnisse in anderen Sprachen, bei denen das nicht der Fall ist, d.h. Arrays werden als Wert übergeben oder so. Ich wüsste nicht, was das Gegenteil dieser Regel wäre,,,
cameofx:
@ Gordon : Wissen Sie, warum es heißt 'Parameter werden als Wert übergeben. Arrays können nur als Referenz übergeben werden". Ich weiß, wie sich das im Code auswirken würde, aber ich verstehe die Begründung nicht. Gibt es zum Beispiel irgendwelche Vorkommnisse in anderen Sprachen, bei denen das nicht der Fall ist, d.h. Arrays werden als Wert übergeben oder so. Ich wüsste nicht, was das Gegenteil dieser Regel wäre,,,,
Hallo zusammen
Gordon sagte: Es gilt als gute Programmierpraxis, die Anzahl der globalen Variablen zu minimieren. Es ist besser, einige Variablen per Referenz zu übergeben (wenn mehr als eine Variable zurückgegeben werden muss), als sie in einem globalen Bereich zu deklarieren.
Es tut mir leid, aber es ist keine "technische" Antwort :) Könnten Sie mir sagen, warum es besser ist, eine Variable per Referenz zu übergeben, anstatt eine globale Variable?
Danke
Philippe