On Dec 20, 2007, at 4:01 PM, Jeff Dyer wrote:

The original Netscape ES4 proposal had syntax for passing arguments as an array. (Waldemar are you listening?) IIRC it used triple dots like this:

   foo(...args)

to mean use the elements of 'args' as positional arguments of foo. We
dropped this from AS3 for lack of evidence for its need.

Wow. I like this, never saw it in Waldemar's proposals, but of course Python and other languages have something akin. This is the missing solution that satisfies the demand for compositional new and apply, as well as other apply-like use-cases (see the thread on this very list, inspired by Python, starting here).

Presumably you could supply one or more positional actual parameters before the "packed" parameter, as Python allows:

>>> def foo(a,b,c):
...   print a,b,c
...
>>> foo(1,2,3)
1 2 3
>>> a = [1,2,3]
>>> foo(*a)
1 2 3
>>> b = [2,3]
>>> foo(1,*b)
1 2 3

This beats a super.apply special form any day!

/be

_______________________________________________
Es4-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es4-discuss

Reply via email to