On Nov 4, 2006, at 10:56 AM, Tereza Snyder wrote:
That looked suspicious. Sure enough, a number 6 will match a
literal 6 in a case, but a string "6.0" will not match a literal 6
in a case. A string "6.0" will match a 6.0 case. A number 6 will
not match a 6.0 in the case.
To be clear: these DO match in an if? or not?
Good question!
Yes. If both values are the result of arithmetic or looks like a
number (what I call numeral) including E notation and 0x notation,
then a numerical comparison is done with 'is' and '='. The 'if' uses
that '=' operator, so that will work with numbers (numeral or the
result of arithmetic).
The 'switch x' seems to convert x to a string and the 'case y' seems
to convert y to a string, and then comparisons are made. A numerical
literal is a string in this case. That is, it looks as though 'case
5.0' is the same as 'case "5.0"'.
So, a 'switch' might not be equivalent to a similar 'if'.
The 'switch' does look at caseSensitive and does work with NUL
characters (Rev null).
Is this interesting behavior of 'switch' a feature or a bug? Or is
this already in the docs?
Dar
--
**************************************
Dar Scott
Dar Scott Consulting and Dar's Lab
8637 Horacio Place NE
Albuquerque, NM 87111
Lab, office, home: +1 505 299 9497
Fax: call above first
Skype: ask
http://www.swcp.com/dsc
[EMAIL PROTECTED]
Computer programming
**************************************
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution