NEWS
Gelöst: Logik-Frage zur FALLS-Abarbeitung in Blockly
-
@Berchemer Warum?
Ehrlich - ich verstehe den Sinn der Frage nicht und du hast mich jetzt neugierig gemacht -
@Berchemer wenn die Bedingungen insgesamt ein True ergeben.
Objekt1 = FALSE
Objekt2 = TRUEdann geht es in der IF-Bedingung weiter
-
@Berchemer sagte:
Wann wird die Bearbeitung abgebrochen?
Wenn die erste falls-Abfrage nicht zutreffend istJa.
Beispiel:var obj = {}; // log(obj.common.write); // TypeError: Cannot read property 'write' of undefined // if(obj.common.write != undefined) log(obj.common.write); // TypeError: Cannot read property 'write' of undefined // ohne Error-Log: if(obj.common && obj.common.write != undefined) log(obj.common.write);
-
@Berchemer
im Falls definierst Du Deine Bedingung/Bedingungen. Wenn alles was Du da definiert hast zutrifft, dann soll dies oder jenes gemacht, oder auch nicht gemacht werden.
Oder ich verstehe die Frage falsch... -
@dslraser sagte:
Oder ich verstehe die Frage falsch...
Die Überschrift passt nicht zur Frage, ob bei einer UND-Verknüpfung nach erstem false-Resultat abgebrochen wird, also die Reihenfolge der Bedingungen eine Rolle spielt. Im Beispiel habe ich gezeigt, dass die Reihenfolge sehr wohl eine Rolle spielt.
var obj = {}; if(obj.common && obj.common.write != undefined) log('Test'); // ohne Error-Log if(obj.common.write != undefined && obj.common) log('Test'); // TypeError: Cannot read property 'write' of undefined
-
@Homoran
Es ging mir um die Frage, ob bei der Abfrage von zwei Bedingungen auch alle zwangsläufig abgearbeitet werden.WENN
(HaustürOffen=true) und
(Haustür.Hakan.Anwesenheit=False)
DANN SayitAusgabe('Die Tür ist offen und Hakan passt nicht auf')Ich möchte nur wissen:
Falls festgestellt wird, dass die Haustür nicht offen ist (false) wird dann auch noch geprüft ob Hakan vor der Tür steht. Oder spart sich das System die Abfrage nach Hakan, weil die Tür ja zu ist und steigt vorzeitig aus der weiteren Abarbeitung aus?
Hoffe, ich habe es jetzt verständlicher ausgedrückt???
-
@paul53
Danke. Also werden nicht alle Bedingungen getestet bevor abgebrochen wird sondern sofort bei der ersten nicht zutreffenden Bedingung. -
@Berchemer sagte in Logik-Frage zur FALLS-Abarbeitung in Blockly:
Hoffe, ich habe es jetzt verständlicher ausgedrückt???
Das hatte ich schon verstanden - nur warum ist das für dich wichtig?
Entscheidens ist doch ob der Zweig ausgeführt wird oder nicht.Oder sehe ich da etwas nicht?
-
@Homoran
Vielleicht will er Performance sparen und setzt das, was seltener vorkommt als erste Bedingung. -
@padrino sagte in Logik-Frage zur FALLS-Abarbeitung in Blockly:
@Homoran
Vielleicht will er Performance sparen und setzt das, was seltener vorkommt als erste Bedingung.Richtig. Das war der Hintergund