Hi,
There is some old Flex code that does this:
var r:int = Math.random() * 5;
var foo:String = someArray[r];
Flash will automatically run the equivalent of Math.floor() so r will be
assigned 0, 1, 2, 3, or 4 and choose an element from the array.
In JS right now, r will be a floating point number and thus the array lookup
will fail. The compiler can detect this (in many cases) so we could wrap these
assignments like this:
var r = Math.floor(Math.random() * 5);
But this will result in Math.floor showing up in more places than I think we
want. That's because, in JS, XMLList.length() is a Number, and so is
parseInt(). So, I'm tempted to not do the coercion and folks will have to find
this bug in their code and add the Math.floor() themselves. I think this is a
pretty rare case.
Thoughts?
-Alex