[cc-ing Lou, this needs to go in the documentation somewhere...]
This is JS2 syntax for an optional argument with a default value.
Means you can dispense with any switch/cascading-if arguments.length
bs when defaulting your arguments. The compiler does all the work for
you (and it is free in swf9!)
You can say the exact same thing in LZX:
<method name="play" arguments="start='either', pause=false,
length='end', reset=true">
Note all optional arguments must follow all required arguments.
Also adopted from JS2, if you just want to accept and gather up all
the rest of the arguments:
function foo (required, optional=null, rest...)
the argument `rest` (can be any name) will be bound to a list of
arguments 3 - Infinity. If you have a function that takes variable
arguments, you _have_ to make this declaration for swf9 to work.
Finally, you can declare the types of your arguments. These types are
ignored in the JS1 back-ends, but they are enforced in JS2 (swf9).
function foo (required:String, optional:Boolean=false)
Caution: You will get a type error, but _only_ if there is not a
coercion available. Hence, passing `null` as the first argument to
foo above will cause it to be called with the string "null", not the
null value. If you want a nullable type, you should leave the type
undeclared (for now...).
On 2009-01-09, at 13:07EST, Sarah Allen wrote:
more syntax questions:
mediastream.lzx defines a function like this:
function play (start='either', pause=false, length='end',
reset=true)
I'm not familiar with that syntax. Can someone tell me about it and
also let me know the syntax for how to express the same thing in a
method tag? (or point me to docs)
Thanks,
Sarah