Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Gelöst: Logik-Frage zur FALLS-Abarbeitung in Blockly

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Gelöst: Logik-Frage zur FALLS-Abarbeitung in Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      Berchemer last edited by Berchemer

      Kurze, aber grundsätzliche Frage zum Logik-Ablauf von Blockly-Falls-Entscheidungen:

      Wie wird die Abfrage genau abgearbeitet?

      Wenn ich z.B. zwei Logik-Werte mit einer UND-Verknüpfung einfüge.

      (falls
      wert_von_Objekt_eins gleich falsch
      UND
      wert_von_Objekt_zwei ungleich falsch
      )

      Wann wird die Bearbeitung abgebrochen?
      Wenn die erste falls-Abfrage nicht zutreffend ist oder wird danach noch die zweite Abfrage abgearbeitet und dann erst festgestellt, dass die UND-Verknüpfung nicht zutreffend ist?

      Homoran htrecksler paul53 dslraser 4 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Berchemer last edited by Homoran

        @Berchemer Warum?
        Ehrlich - ich verstehe den Sinn der Frage nicht und du hast mich jetzt neugierig gemacht

        B 1 Reply Last reply Reply Quote 0
        • htrecksler
          htrecksler Forum Testing @Berchemer last edited by

          @Berchemer wenn die Bedingungen insgesamt ein True ergeben.
          Objekt1 = FALSE
          Objekt2 = TRUE

          dann geht es in der IF-Bedingung weiter

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Berchemer last edited by paul53

            @Berchemer sagte:

            Wann wird die Bearbeitung abgebrochen?
            Wenn die erste falls-Abfrage nicht zutreffend ist

            Ja.
            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);
            
            B 1 Reply Last reply Reply Quote 0
            • dslraser
              dslraser Forum Testing Most Active @Berchemer last edited by

              @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...

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @dslraser last edited by paul53

                @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
                
                1 Reply Last reply Reply Quote 1
                • B
                  Berchemer @Homoran last edited by

                  @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???

                  Homoran 1 Reply Last reply Reply Quote 0
                  • B
                    Berchemer @paul53 last edited by Berchemer

                    @paul53
                    Danke. Also werden nicht alle Bedingungen getestet bevor abgebrochen wird sondern sofort bei der ersten nicht zutreffenden Bedingung. 🙂

                    1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @Berchemer last edited by

                      @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?

                      padrino 1 Reply Last reply Reply Quote 0
                      • padrino
                        padrino Most Active @Homoran last edited by

                        @Homoran
                        Vielleicht will er Performance sparen und setzt das, was seltener vorkommt als erste Bedingung. 🙂

                        B 1 Reply Last reply Reply Quote 0
                        • B
                          Berchemer @padrino last edited by

                          @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 😉

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          849
                          Online

                          31.8k
                          Users

                          80.0k
                          Topics

                          1.3m
                          Posts

                          blockly javascript
                          6
                          11
                          715
                          Loading More Posts
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes
                          Reply
                          • Reply as topic
                          Log in to reply
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          The ioBroker Community 2014-2023
                          logo