Ist es möglich, viele "Oder"-Zeichen (||) in Bedingungen zu vermeiden, die dieselbe Aktion verursachen? - Seite 2

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
Sie können auf diese Weise auch Berechnungen optimieren:
Es wurde schon oft gesagt: es gibt keine Abkürzung in MCL, if(a||b|||c||d||e){} alle Bedingungen werden geprüft.
Der Ausweg sind Nistbedingungen:
if(a){if(b){if(c){}}} in diesem Fall erfolgt der Ausstieg bei der ersten passenden Bedingung
Aber auch die Verschachtelung ist nicht unendlich, die flexibelste Lösung ist, die Bedingungen in einer Schleife mit einem Ausgang zu prüfen:
Es wurde schon oft gesagt: es gibt keine Abkürzung in MCL, wenn (a||b|||c||d||e){} werden alle Bedingungen geprüft.
Der Ausweg sind Nistbedingungen:
if(a){if(b){if(c){}}} in diesem Fall erfolgt der Ausstieg bei der ersten passenden Bedingung
Aber auch die Verschachtelung ist nicht unendlich, die flexibelste Lösung ist, die Bedingungen in einer Schleife mit einem Ausgang zu prüfen:
Nein, aber ich kenne Olbanian gut :))
Die Verschachtelung von Bedingungen if(a){if(b){if(c){}}} ist nicht gut, da sich alle Bedingungen gegenseitig ausschließen, aber irgendetwas funktioniert nicht mit boolean. Wahrscheinlich und höchstwahrscheinlich mache ich etwas falsch. Bisher habe ich es dabei belassen, für jede Bedingung eine Doppelvariable zu erstellen und sie in dieselbe if() mit 4 "oder" einzufügen. Wie ich erwartet hatte, hat sich dies nicht auf die Geschwindigkeit der Tests ausgewirkt. Gleiche 13 Minuten für alle Zecken für 12 Monate.
Oder heißt diese Sprache vielleichtOblansky?
Verschachtelte Bedingungen if(a){if(b){if(c){}} sind nicht gut, da sich alle Bedingungen gegenseitig ausschließen. Wahrscheinlich und höchstwahrscheinlich machen Sie etwas falsch.
Alles ist gut, man muss sich nur an einige Identitäten aus der Booleschen Arithmetik erinnern, zum Beispiel: a || b = !( !a && !b ). Indem wir von der Konjunktion zur Disjunktion wechseln, können wir die Prüfung der ODER-Bedingung durch eine konsekutive (verschachtelte) Prüfung der UND-Bedingungen ersetzen: zum Beispiel, wenn (a || b || c), wie TarasBY oben richtig geschrieben hat, zu
Dieser Code ist im Allgemeinen schneller als der ursprüngliche Code mit ||, da er nur so lange ausgeführt wird, bis eine der Bedingungen in der Liste wahr ist, d. h. bis die gesamte ODER-Operation zu TRU führt.
Alles ist gut, man muss sich nur an einige Identitäten aus der Booleschen Arithmetik erinnern, zum Beispiel: a || b = !( !a && !b ). Indem wir von der Konjunktion zur Disjunktion wechseln, können wir die Prüfung der ODER-Bedingung durch eine konsekutive (verschachtelte) Prüfung der UND-Bedingungen ersetzen: zum Beispiel, wenn (a || b || c), wie TarasBY oben richtig geschrieben hat, zu
Dieser Code ist im Allgemeinen schneller als der ursprüngliche Code mit ||, weil er nur so lange ausgeführt wird, bis eine der Bedingungen in der Liste wahr ist, d. h. bis die gesamte ODER-Operation ein TRU-Ergebnis liefert.
Alles ist gut, man muss sich nur an einige Identitäten aus der Booleschen Arithmetik erinnern, zum Beispiel: a || b = !( !a && !b ). Indem wir von der Konjunktion zur Disjunktion wechseln, können wir die Prüfung der ODER-Bedingung durch eine konsekutive (verschachtelte) Prüfung der UND-Bedingungen ersetzen: zum Beispiel, wenn (a || b || c), wie TarasBY oben richtig geschrieben hat, zu
Dieser Code ist im Allgemeinen schneller als der ursprüngliche Code mit ||, da er nur so lange ausgeführt wird, bis eine der Bedingungen in der Liste wahr ist, d. h. bis die gesamte ODER-Operation ein TRU-Ergebnis liefert.
Vielen Dank für Ihre Teilnahme! Ich habe 5 verschiedene, aber gleiche Bedingungen, und wenn keine Bedingung erfüllt ist, wartet der EA darauf, dass eine von ihnen erfüllt wird. Daher hat sich trotz meiner Bemühungen keine einzige Form der Umsetzung als besser erwiesen. Deshalb bleibe ich vorerst bei meinen "Torten".