Override is not required in LZX. The tag compiler figures that out for
you. David wanted to preserve as much dynamicity in LZX as possible --
we work overtime to get it to you. :)
I have a Jira to detail the new syntax in the doc, just haven't had
time yet. Also, it is totally optional, so I have not put that at the
top of my list.
On Jan 10, 2009, at 11:19, Sarah Allen <[email protected]> wrote:
It would be great if this were in the reference with the method
tag... not sure where the javascript syntax goes. I noticed in the
javasscript init method there was new "override" syntax... is that
needed in the tag syntax also? only required for SWF9 or all
runtimes?
Thanks!
Sarah
On Jan 9, 2009, at 10:21 AM, P T Withington wrote:
[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