Freigabe bei A und B oder C: Wo gehören die Klammern hin?

AP2 vorbereiten · 6 Antworten

STARTBEITRAG

#1

Eine Aktion soll erlaubt sein, wenn jemand angemeldet ist UND entweder Besitzer oder Admin ist. Ich habe angemeldet && besitzer || admin geschrieben. Der Satz klingt richtig, der Ausdruck irgendwie nicht. Welcher Gegenfall zeigt den Fehler?

0

Antworten

6
Antwort auf das Thema
#2

Setze angemeldet auf false und admin auf true. Dein Ausdruck wird in JavaScript trotzdem true, weil && stärker bindet als ||. Gewollt ist angemeldet && (besitzer || admin).

0
Antwort auf Antwort

Antwort auf #2 von semikolon

Setze angemeldet auf false und admin auf true. Dein Ausdruck wird in JavaScript trotzdem true, weil && stärker bindet als ||. Gewollt ist angemeldet && (besitzer || admin).
#3

Also erst die Alternativen als Gruppe, dann die gemeinsame Voraussetzung davor. Ich hatte mich von der Wortreihenfolge täuschen lassen.

0
Antwort auf Antwort

Antwort auf #3 von SinaK

Also erst die Alternativen als Gruppe, dann die gemeinsame Voraussetzung davor. Ich hatte mich von der Wortreihenfolge täuschen lassen.
#4

Genau. Eine kleine Wahrheitstabelle ist hier hilfreicher als nur ein erlaubter Fall. Besonders die Fälle prüfen, die ausdrücklich verboten bleiben sollen.

0
Antwort auf Antwort

Antwort auf #4 von byteweise

Genau. Eine kleine Wahrheitstabelle ist hier hilfreicher als nur ein erlaubter Fall. Besonders die Fälle prüfen, die ausdrücklich verboten bleiben sollen.
#5

Ich nehme alle acht Kombinationen. Bei drei booleschen Eingängen ist das noch überschaubar und ich muss nicht raten.

0
Antwort auf das Thema
#6

In einer echten Anwendung müssen diese Rechte serverseitig aus der Sitzung kommen. Ein ausgeblendeter Button ist nur Darstellung.

0
Antwort auf Antwort

Antwort auf #6 von netznora

In einer echten Anwendung müssen diese Rechte serverseitig aus der Sitzung kommen. Ein ausgeblendeter Button ist nur Darstellung.
#7

Der Button ist kein Türschloss. Der Satz könnte ruhig etwas häufiger neben hübschen Rechte-Demos stehen.

0