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

Reply via email to