![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Und mit ein wenig mehr Gehirnschmalz kann man eine Funktion wie diese erhalten
Und wenn Sie Ihr Gehirn ein bisschen mehr anstrengen, können Sie folgende Funktion erhalten
Warum
Da es sich bei der Funktion um eine int-Funktion handelt, kann auch return verwendet werden.
und der Aufruf sieht wahrscheinlich folgendermaßen aus
das Ergebnis ist
1) Einführung von ++ für die Aufzählung
2) Umwandlung der Aufzählung in einen String
Zu den Aufzählungen gibt es eine Diskussion:
1) Einführung von ++ für die Aufzählung
2) Umwandlung der Aufzählung in einen String
Es gibt eine Diskussion über Transfers:
1) Einführung von ++ für die Aufzählung
Gibt es diese Funktion bereits?
Oder eine andere Alternative, um die Artikel nacheinander aufzulisten?
Es scheint mir, dass das Inkrementieren einer Aufzählung nicht der richtige Schritt ist.
Die Standardaufzählung muss nicht notwendigerweise sequentiell sein, und außerdem können während der Entwicklung Werte "in der Mitte" hinzugefügt werden.
Natürlich wäre es zur "Vereinfachung" schön, durch Inkrementierung der Aufzählung sofort den "nächsten" Wert zu erhalten, aber meiner Meinung nach ist dies eine potenziell gefährliche Praxis.
Um den "nächsten Wert" in der Aufzählung zu erhalten, ist es am sinnvollsten, eine spezielle Funktion zu verwenden, wie hier bereits erwähnt.
Und die Leute scheinen den Standard-Selektor zu ignorieren, und zwar vergeblich. Jeder switch() muss diesen Selektor mit einer Warnung enthalten, dass ein obskurer Wert eingetroffen ist.
George Merts:
durch Inkrementierung von Aufzählungen - sofortiger Erhalt des "nächsten" Wertes
Das ist es, wasIlyas meinte.
Ich hatte eine Frage an ihn oder den verantwortlichen Entwickler. Wurde dieses Problem gelöst - irgendwie durch alle Elemente programmatisch zu gehen oder ist es immer noch in den Prozess...
Es ist mir eigentlich egal, wie ich bestehen kann.
foreach-Operator
neue Funktionen wie GetNextEnum / GetLastEnum / GetFirstEnum
oder Überlastung ++
solange es nicht so ist, wie oben vorgeschlagen wurde - Funktionen für aktuelle Bezeichnungen zu zeichnen und dann Angst zu haben, dass nichts kaputt geht, wenn sie von Entwicklern aktualisiert werden
Gott, warum diese Komplexität - einige Plusser, Iteratoren... Die naheliegendste und flexibelste Lösung ist es, eine Funktion in die Sprache einzuführen, die alle Aufzählungswerte in ein Array holt. Und dann entscheiden Sie, wie Sie dieses Array durchlaufen, auch quer dazu.Außerdem müssen Sie sowieso alle Werte speichern, da Sie nicht bei jedem Aufruf alles neu aufbereiten wollen. Wenn Sie es einmal umgangen und gespeichert haben, können Sie es einfach aus dem Array nehmen. Ist es also nicht einfacher, ein fertiges Array auf einmal zu bekommen?
Übrigens kann die Variante mit der Überladung des Operators ++ dazu führen, dass bestehende Programme nicht richtig funktionieren, ist also ein äußerst schlechter Weg.
Nun, die hier gezeigten Beispiele (Fall 1: Rückgabewert1; Fall 2: Rückgabewert2; Fall 3: Rückgabewert3... Eine geeignete Person würde alle Werte in einem Array ablegen und den benötigten Wert einfach über seinen Index abrufen, während er/sie für die umgekehrte Aufgabe die binäre Suche verwenden würde.
Gott, was ist das für eine Komplexität - die Pluszeichen, die Iteratoren...
Es ist mir egal, wie Sie es haben wollen.
Nun, die hier gezeigten Beispiele (Fall 1: Rückgabewert1; Fall 2: Rückgabewert2; Fall 3: Rückgabewert3... Eine geeignete Person würde alle Werte in ein Array packen und einfach den benötigten Wert über seinen Index abrufen, während für die umgekehrte Aufgabe eine binäre Suche verwendet wird.