Hi,
aber wie kann ich ihm dann möglichst kurz ohne weitere verschachtelungen in einer einzigen bedingung beibringen, daß er nur dann in die if-verzweigung springen soll, wenn $prob[2] ENTWEDER 2 ODER 1 ist?
naja, genauso[1] wie Du es sagst - das ODER hast Du schon, nur solltest Du etwas mehr betonen, dass der Wert GLEICH 1 oder 2 sein soll.
[1] Wobei die Übersetzung "$prob[2]==2 OR 1" schon deswegen nicht stimmt, weil "1" immer wahr ist. Boole'sche Operatoren _trennen_[2] Wahrheitswerte, d.h. links und rechts vom "OR" steht jeweils eine Bedingung, die Du einzeln betrachten musst.
[2] Und verbinden sie gleichzeitig ;-)
Kleine Boole'sche Algebra für Anfänger, weil ich gerade Bock drauf habe: Deine ursprüngliche Bedingung war "A!=1 OR A!=2", oder auch "X OR Y" (reine Umbenennung, nichts magisches). Verneint man dies, bekommt man "NOT (NOT X AND NOT Y)" (beachte den Wechsel zwischen OR und AND). Dies zurücksubstituiert heißt dann: "NOT (A==1 AND A==2)". Jetzt wird Dir vielleicht deutlicher, warum das Ergebnis immer das gleiche ist...
!(X AND Y) == (!X OR !Y)
!(X OR Y) == (!X AND !Y)
Cheatah
X-Will-Answer-Email: No