On Tue, Dec 10, 2002 at 01:02:18PM -0800, Brent Dax wrote:
> Peter Haworth:
> #   @b = @a.grep { /\S/ }, $c;
> # 
> # how does the compiler know whether $c is an argument to grep, 
> # or another element to be assigned to @b?
> 
> The same way it does when it sees a normal sub?
> 
> I know, late binding and all that.  But when you think about it, a lot
> can be done to simulate the conditions otherwise.  For example, with a
> definition like this:
> 
>       class Foo {
>               method bar($self: $baz) { ... }
>       }
> 
> And a call like this:
> 
>       @b=$foo_obj.bar $baz, $quux;
> 
> Where we can see *at runtime* that $quux is too many arguments, we can
> just append it to the end of bar()'s return value.  (This would only
> happen when there were no parentheses.)  

Seems to me that you just gave a really good argument for requiring
the parentheses.

-Scott
-- 
Jonathan Scott Duff
[EMAIL PROTECTED]

Reply via email to