NEWS
Blockly - Prüfung des Werts aller Objekte eines Arrays
-
Hallo
Ich habe in einem Array eine Liste mit Objekten, deren Wert "true/false" sein kann (in meinem Fall Anwesenheitssensoren).
Gibt es eine elegante Möglichkeit ohne Schleife zu prüfen, ob der WERT all dieser Objekte, die im Array genannt sind, "true" oder "false" ist?
Als Trigger kann man ja das Array nehmen (was schon sehr "elegant" ist).
Danke!
Gruß Nico
-
@daNick Ein Ansatz vielleicht array.toString() und dann den String prüfen auf den gewünschten Wert false oder true.
-
@daNick sagte:
Array eine Liste mit Objekten
Du meinst eine Liste mit Datenpunkt-IDs ?
Was ist Dein Ziel ? -
.. in C war so etwas zu finden Alle Elemente sind 0, wenn das erste Element 0 ist und jedes Element gleich dem Nachfolger ist:
(a[0]==0) && (memcmp(a,a+1,sizeof(*a)*(a_len-1))==0) // a_len: Anzahl der Elemente in a. Der Typ von *a muss bitvergleichbar sein.
Ansatz !
LG Klaus
-
Danke für die Nachfrage.
Meine Grundlage:
Array in Blockly definiert mit Datenpunkt "occupy" von verschiedenen Sensoren.
Das Script startet, wenn sich einer der Werte ändert.Was ist jetzt gerne hätte:
Prüfung, ob alle Datenpunkt des Arrays auf "false" sind (dann ist keiner mehr im Flur).Bisher prüfe ich ja nur, ob sich einer geändert hat.
Wenn ich den Trigger von "wurde geändert" auf "ist unwahr" ändere, bringt das auch nichts (die Bedingung tritt ja ein, wenn EINER der Datenpunkte auf unwahr springt, ich überwache aber einen Raum mit 3 Sensoren).
Macht das soweit Sinn?
Gruß daNick
-
@daNick sagte:
Möglichkeit ohne Schleife zu prüfen,
Möglichkeit ohne Schleife "über alle Werte lesen": 2. Array, das die Werte enthält. Im Trigger ermittelt man den Index aus der ID und trägt den zugehörigen Wert in das Werte-Array ein.
prüft dann, ob mind. einer der Werte true ist.
-
Danke für Deine Zeit und den Support!
Was mit nicht klar ist, ist der Schritt
"Im Trigger ermittelt man den Index aus der ID und trägt den zugehörigen Wert in das Werte-Array ein."
Wie sieht der Befehl aus, mit dem ich zu einem gegebenen Array, in dem Datenpunkt stehen, ein zweites Array gleicher Größe mit den Werten dieser Datenpunkte befülle?
Danke!
Gruß daNick
-
-