Domino 9 und frühere Versionen > Entwicklung
Select mit "oder" - Funktion
eknori:
@Axel: das habe ich so noch nicht untersucht, danke für den Tip
--- Zitat ---Ich setze immer massig Klammern
--- Ende Zitat ---
So helfe ich mir auch immer; und auch das , was TMC angeregt hat, erleichtert den Zusammenbau von komplexen Select Formeln ...
Gandhi:
Die müssten gleich bewertet werden - dann also von links nach rechts bearbeitet werden.
Eine höhere Präzedenz hat nur Not (!). Und und oder sind eher wie plus und minus als wie plus und mal (mathematisch gesehen).
ABER: An Klammern spart man nicht - auch wenn es ein paar Elektronen kostet.
Gut ist es auch lange logische Ausdrücke in Teile zu zerlegen, wie es hier auch schon vorgeschlagen wurde.
Und dann noch ein Hinweis für die Benutzer Schweizer Tastaturen - hier gibt es zwei Pipe Symbole | und ¦ aber nur das durchgezogene funktioniert (sinnigerweise ist das auf meiner Tastatur falsch herum auf die Tasten gedruckt - da habe mich für einen halben Tag für schwachsinnig gehalten...).
Sonnenaufgang:
An alle,
vielen Dank für Eure Hilfe und die guten Tipps.
Daniel
flaite:
--- Zitat von: Gandhi am 07.11.05 - 11:23:12 ---Und und oder sind eher wie plus und minus als wie plus und mal (mathematisch gesehen).
--- Ende Zitat ---
Du könntest recht haben. Laut Designer Hilfe Dokument (operator precedence) haben &, | sowie ! die gleiche Präzedenz 7 (müssten also von links nach rechts abgearbeitet werden.
Besonders geschickt finde ich es nicht.
& (and), | (or) sind anders als +,-
--- Code: ---((Stadt = Köln) AND (Augenfarbe = "braun")) OR (alter > 36)
--- Ende Code ---
kommt ja zu einem unterschiedlichen Ergebnis wie
--- Code: ---(Stadt = Köln) AND ((Augenfarbe = "braun") OR (alter > 36))
--- Ende Code ---
Bei +/- kommt man dagegen immer zu dem gleichen Ergebnis, egal wie man die Klammern setzt.
--- Code: ---(4 - 3) + 2 = 4 + (-3 + 2) = 3
--- Ende Code ---
Gut. Man könnte festlegen, dass die logischen Operatoren (&/| oder AND/OR) immer von links nach rechts abzuarbeiten sind.
In Java ist es auf jeden Fall anders: && hat eine höhere Präzedenz als ||.
(wobei ich das nicht nutze und grundsätzlich Klammern setze).
Gruß Axel
Gandhi:
Eine Unterschiedliche Prezedenz bei logischen Operatoren ist meines Wissens mathematisch nur für das Nicht zulässig (das ja eine Art logisches Vorzeichen ist, also der Operation *-1 ähnlich ist).
Hier irrt dann Java - wobei das kein Problem ist, solange das Verhalten bekannt ist.
Da man sich NIE auf unsichere Prezedenzfolgen verlassen sollte empfehle ich auf jeden Fall aber eine sprechende Strukturierung durch Hilfsvariablen und Klammern.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln