Flashhilfe.de - Flash Community

Syntax-Problem beim Größenvergleich von 3 Variablen? (a<b<=c; ignoriert b<=c) [Flash 9]

Forum > ActionScript 2.0 > Syntax-Problem beim Größenvergleich von 3 Variablen? (a<b<=c; ignoriert b<=c)

 


AntwortenRegistrieren Seite1  

 04.10.2009, 14:16 
Beiträge: 26
Registriert: Jan 2008

Syntax-Problem beim Größenvergleich von 3 Variablen? (a<b<=c; ignoriert b<=c)
Also, hab den Code mal mit verkürzten Variablen-Namen geschrieben und ausprobiert. Es ist das gleiche Problem, dass dabei auftritt.

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var G = _root.G_mc
G.A = 1.2
var a = 88
var b = G._x + G.A*a  // G.A*a = 105.6
var c = G._x + G.A

trace("G._x = " + G._x)
trace("b = " + b)
trace("c = " + c)
trace("G._x < b  " + (G._x < b))
trace("b <= c  " + (b <= c))
trace("G._x < b <= c  " + (G._x < b <= c))

/* Ausgabe:
G._x = 50
b = 155.6
c = 51.2
G._x < b  true
b <= c  false
G._x < b <= c  true
*/



Beim letzten trace überprüft er nur "G._x < b" und ignoriert "<= c".
Dadurch kommt es zu diesem falschen Ergebnis!
Wieso macht er das? Was geht da bei der Syntax ab, dass er des ignoriert?
 04.10.2009, 14:34Re1
Beiträge: 26
Registriert: Jan 2008

Themenautor/in

Ok, also jetzt bin ich total verwirrt!

ActionScript:
1trace (0 < 2 <= 1) // = true


Warum wird der hintere teil nicht überprüft?

EDIT: Bei  0 < 2 < 1  kommt komischer Weise "false" raus!
Geändert von MegaMuetzenMike am 04.10.09 um 14:44 Uhr

 04.10.2009, 16:19Re2
Beiträge: 26
Registriert: Jan 2008

Themenautor/in

Ok, hab jetzt die Ursache für das Problem herausgefunden!

Es wird von links nach rechts durchgegangen:
0 < 2  = true
true <= 1  =  true
denn der Boolean (true) wird in Number (1) umgewandelt! (false = 0)

Man muss also schreiben:
(0 < 2) && (2 <= 1)
(true && false) = false
dann kommt false raus!

"Für was brauche ich das?"
Zum Beispiel, wenn ihr überprüfen wollt, ob der Wert b im Intervall ]a, c] liegt.
Aber aufgepasst, wenn a>c ist:
a < b <= c
1 < 2 <= 3  // true
3 < 2 <= 1  //false
Intervall ]1, 3] ist ja aber eigentlich das gleiche wie [3, 1[
Man muss also vorher überprüfen, ob a>c ist und dann...das könnt ihr jetzt selber machen ^^
Geändert von MegaMuetzenMike am 04.10.09 um 17:04 Uhr

 
nicht sichtbar bei eingeloggten Mitgliedern1&1 Webhosting
 
Themen
Ähnliche Beiträge zum Thema
Notepad ++ syntax check 02.06.2010 - Enigma_X
 

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.
Partner Webseiten: DesignerInAction.de   Designnation.de   Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   PSD-Tutorials.de   Tutorials.de

Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2012 Sebastian Wichmann - Flashhilfe.de