Wünsche für MQL5 - Seite 38

 
SK. писал (а):

Ich würde auch gerne eine Pause von if() einlegen.

So etwas habe ich in den gängigen Programmiersprachen noch nicht gesehen...


komposter:

Ich bin auf einen ähnlichen Code wie diesen gestoßen:

while ( true )
{
   if ( condition1 )
   {
      Alert("1");
      break;
   }
 
   if ( condition2 )
   {
      Alert("2");
      break;
   }
 
   break;
}
Ich denke, das ist es, was wir brauchen ;)

Tragen sie in diesem Frühjahr keine Klassiker? :-) Zeigen Sie uns ein Kleid, das nur aus IF's besteht:


if (condition) { // ЭТО IF, КОТОРЫЙ НУЖНО BREAK'НУТЬ ОДНИМ ИЗ НЕСКОЛЬКИХ УСЛОВИЙ
 
  // ...тут делаем че-нить полезное...  
 
  if (!break_condition1) {
 
    // ...продолжаем делать полезное...  
 
    if (!break_condition2) {
 
      // ...продолжаем делать полезное...  
  
    }
  }
}
 
ds2:

Tragen sie in diesem Frühjahr nicht schon Klassiker? :-) Ich sehe mir ein Kleid an, das nur aus IF's besteht:

Lesen sie nicht mehr die Diskussion über die Frage, bevor sie sie beantworten? ;)
"Geordnet" genau eine Unterbrechung von einem Wenn, nicht ein unendlicher Baum "!break_condition".

 
ds2:
SK. schrieb (a):

Ich würde auch gerne eine Pause von if() einlegen.

So etwas habe ich in den gängigen Programmiersprachen noch nicht gesehen...

О. Das ist es, genau das Richtige.

Die positive Aussage in dieser Aussage ist, dass es schlecht ist, wenn es nicht in anderen Sprachen ist, es bedeutet, dass es etwas Fremdes und Unnötiges ist.

Meiner Meinung nach ist das überhaupt nicht der Fall. Wir sollten eher nach Harmonie in der Popularität suchen. Die Mode ist nichts anderes als eine anschauliche Bestätigung des Herdeneffekts. Modische Dinge sind selten wirklich nützlich oder bequem. Schrottwaren waren für den Normalbürger noch nie von Belang.

Nehmen Sie es bitte nicht persönlich.

Das "Break and Continue" ist nur ein kleines technisches Hilfsmittel.

Wenn Sie sich viele Programme genau ansehen, werden Sie feststellen, dass die Notwendigkeit, aus einem komplexen Konstrukt auszusteigen, nicht nur bei Schleifen oder Scrolls besteht, und zwar aus dem einfachen Grund, dass komplexe Konstrukte nicht nur auf der Grundlage von Schleifen und Listen gebildet werden. Auch sie werden auf der Grundlage von Wenns gebildet. Daher wäre ein kontrollierter Übergang zu einer externen schließenden Klammer sinnvoll.

Das ist nicht der Punkt. Was ich sagen wollte, ist, dass dieses "Denken": "Ich brauche das nicht" ein sehr starkes Entwicklungshindernis ist. Meiner Meinung nach ist es viel nützlicher, ständig auf der Suche zu sein und neue Entscheidungen nicht von vornherein abzulehnen, wenn sie zumindest ein Körnchen Nutzen haben.

 
SK. писал (а):
ds2:

So etwas habe ich in den gängigen Programmiersprachen noch nicht gesehen...

...

break and continue ist nur ein kleines technisches Hilfsmittel.

...

Die Idee ist großartig, ich denke, jeder wird zufrieden sein, wenn break for if anders ist als break for while (breakif, breakwhile, breakfor, breakcase zum Beispiel)

 


karakuts Zuerst wollte ich fragen, warum sie unterschieden werden sollten, aber dann wurde mir klar. Es ist einfacher und logischer, nur ein Breakif hinzuzufügen .


P.S. Mit dem Editor angefangen, habe ich alles zerstört - ich bitte um Entschuldigung.

 
karakuts:

Die Idee ist großartig, ich denke, jeder wird zufrieden sein, wenn break for if anders ist als break for while (breakif, breakwhile, breakfor, breakcase zum Beispiel)

Übrigens, hier ist eine Weiterentwicklung der Idee. Eine Unterscheidung in breakfor, breakcase usw. wäre an sich schon nützlich. Damit entfällt die Notwendigkeit, eine Vielzahl von Prüfungen auszuführen (und früher zu codieren), um ein komplexes verschachteltes Konstrukt zu beenden. Dasselbe gilt für continue.

 

Es ist sogar einfacher, ein einziges Goto einzuführen, um eine Kakophonie verschiedener Pausen zu vermeiden: selbst Wirth, der dies kritisierte, ließ es in seinem Pasquale. Das goto verfügt übrigens über einen natürlichen Mechanismus zur Markierung einer Übergangsmarke, der sich leicht merken lässt.

 
Mathemat:

Und es ist noch einfacher, ein einziges Goto einzuführen, um eine Kakophonie verschiedener Pausen zu vermeiden: selbst Wirth, der dies kritisierte, ließ es in seinem Pasquale. Goto verfügt übrigens über einen natürlichen Mechanismus zur Markierung einer Übergangsmarke, der sich leicht in ein Gedächtnis einprägen lässt.

Ich habe den unbedingten Sprungoperator seit etwa 10 Jahren nicht mehr benutzt. Es gab Programmiersprachen (damals High Level), in denen man nicht ohne ihn auskommen konnte, aber jetzt ist es ein Atavismus! :)

P.S. Ich bin für die Beibehaltung, vier GOTOs wecken schöne Erinnerungen :)

 
Mathemat:

Es ist sogar einfacher, ein einziges Goto einzuführen, um eine Kakophonie verschiedener Pausen zu vermeiden: selbst Wirth, der dies kritisierte, ließ es in seinem Pasquale. Goto verfügt übrigens über einen natürlichen Mechanismus zur Markierung einer Übergangsmarke, der sich leicht in ein Gedächtnis einprägen lässt.

Wunderbar. Wir haben im Sommer eine solche Kakophonie von Fröschen am Fluss:) Ich werde sie von nun an Brecher nennen:)

 

Noch eine Sache zu den Externen.

Es wäre praktisch, "bedingte" Variablen zu erstellen - Variablen, deren Sichtbarkeit und Verwendungsmöglichkeit von anderen externen Variablen abhängen.

Zum Beispiel gibt es eine Funktion "Filter nach Parabolic", die durch eine entsprechende boolesche Variable aktiviert wird. Er verfügt über die Parameter "Schritt" und "Maximum" des parabolischen Indikators. Die Parameter sollten also nur dann sichtbar und zur Bearbeitung verfügbar sein, wenn "Parabolic Filter = true".

Beispiel 2: Expert Advisor auf dem Schnittpunkt von 2 Durchschnittswerten. Der Zeitraum des langsamen Durchschnitts muss durch den Zeitraum des schnellen Durchschnitts begrenzt werden (und umgekehrt). D.h. wenn fastPeriod = 20 ist, darf slowPeriod keine Werte unter 21 annehmen.