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
Ich bin mir der verkürzten Bewertung der Bedingung durchaus bewusst. Ich hoffe, das beantwortet einen Teil der Frage. Und die notwendigen Kontrollen werden durchgeführt. Wenn Sie bei der zweiten Option s1.process und s2.process austauschen, ist der Arbeitsablauf korrekt. Die Frage bezog sich nicht darauf. Ich habe nach dem Gesamtergebnis gefragt. Das logische Gesamtergebnis hängt nicht von der verkürzten Bewertung der Bedingung ab. Die Frage bezog sich auf das Verhalten der lokalen Variable als statische Variable für Objekte einer Klasse. Wie wir wissen, überschreiben die Objekte einer Klasse eine statische Variable.
Meine: "Theoretisch sollte der Code genau gleichfunktionieren . Aber... Varianten funktionieren unterschiedlich". sollte als "der Rückgabewert sollte identisch sein, aber sie sind unterschiedlich" verstanden werden.
Ais:
Es sieht entweder wie eine versteckte Rekursion aus, mit den üblichen Nebeneffekten, oder ...
Ja, es sieht nach Rekursion aus. Die gleichen Methoden verschiedener Objekte werden jedoch als verschachtelt bezeichnet. Derselbe ist ausgeschlossen. Durch die Ausgabe in die Datei habe ich herausgefunden, dass d1 den für d1 definierten Wert in der darunter liegenden Ebene belässt, wenn er in die darüber liegende Ebene zurückkehrt.
Ich bin mir der verkürzten Bewertung des Zustands durchaus bewusst. Ich hoffe, dies beantwortet einen Teil der Frage. In der zweiten Variante, wenn wir s1.process und s2.process austauschen, funktioniert es korrekt. Die Frage bezog sich nicht darauf. Die Frage bezog sich auf das Gesamtergebnis. Das allgemeine logische Ergebnis hängt nicht von der verkürzten Konditionsauswertung ab. Die Frage bezog sich auf das Verhalten der lokalen Variable als statische Variable für Objekte einer Klasse. Wie wir wissen, wird eine statische Variable von Objekten der gleichen Klasse überschrieben.
Ja, es sieht nach Rekursion aus. Die gleichen Methoden verschiedener Objekte werden jedoch als verschachtelt bezeichnet. Dieselben Methoden desselben Objekts werden aufgerufen. Bei der Ausgabe in eine Datei wurde festgestellt, dass d1 den für die darunter liegende Ebene d1 definierten Wert verlässt, wenn er zur darüber liegenden Ebene zurückkehrt.
Zeigen Sie ein Beispiel, um das Problem zu veranschaulichen. Was Sie angegeben haben, zeigt in keiner Weise eine "lokale Variablenverfälschung". Ein funktionierender Code, den wir selbst ausführen können
Warum müssen Sie alles für die Produktentwickler tun? Mangelndes Vertrauen in die Qualifikation von Drittentwicklern? Nach meinen ausführlichen Erklärungen schien es mir ausreichend, noch einmal zu prüfen, was mit lokalen Variablen von Methoden einer Klasse geschieht, wenn sie verschachtelt sind.
OK, wenn ich etwas Zeit habe, werde ich ein spezielles Beispiel schreiben.
Warum müssen Sie alles für die Produktentwickler tun? Mangelndes Vertrauen in die Qualifikation von Drittentwicklern? Nach meinen ausführlichen Erklärungen schien es mir ausreichend zu sein, noch einmal zu prüfen, was mit lokalen Variablen von Methoden derselben Klasse geschieht, wenn sie verschachtelt sind.
OK, wenn ich etwas Zeit habe, werde ich ein spezielles Beispiel schreiben.
Warum müssen Sie alles für die Produktentwickler tun? Mangelndes Vertrauen in die Qualifikation von Drittentwicklern? Nach meinen ausführlichen Erklärungen schien es mir ausreichend zu sein, noch einmal zu prüfen, was mit lokalen Variablen von Methoden derselben Klasse geschieht, wenn sie verschachtelt sind.
OK, wenn ich etwas Zeit habe, werde ich ein spezielles Beispiel schreiben.
Wie kann ich aktuelle Preise für verschiedene Währungspaare in mehreren Währungen erhalten? Beim Testen gibt SymbolInfoTick() nur die Preise des aktuellen Instruments zurück und erzeugt den Fehler 4302, wenn versucht wird, auf andere Paare zuzugreifen.
Ist es richtig, dass durch den Code des Indikators,
beim Hinzufügen oder Neukompilieren zur Tabelle die Einheit 2 Mal gedruckt wird? Ist die Bedingung in diesem Fall zweimal erfüllt? Bitte erklären Sie mir das, ich muss es einmal ausführen.Wäre es nicht einfacher, den Teil, der einmal ausgeführt wird, in den Initialisierungsblock zu packen?
Oder ist eine Ausführung im Rechner des Indikators erforderlich?
Es gibt keine Möglichkeit, das oben genannte Problem zu reproduzieren.
Wird es unter dem Debugger abgespielt?
Wäre es nicht einfacher, den Teil, der einmal ausgeführt wird, in den Initialisierungsblock zu packen?
Oder muss sie einmal im Indikatorrechner ausgeführt werden?