On Fri, May 30, 2008 at 11:19:34AM +0900, Nobuyoshi Nakada wrote:
> How do you read this:
>   foobar &(foo) {foo.bar()},
> 
>   foobar(&foo.to_proc) {foo.bar()}
> or
>   foobar(lambda{|foo|foo.bar()})
> ?
> 
> The former causes syntax error, but it would introduce
> confusion.

Interesting idea.  After a few minutes of thought, alone I would read:
  &(foo) {foo.bar()}

as "take foo and turn it into a proc via to_proc," and since the { } is
extra, my first guess would be that the block would get passed to
#to_proc.

So even disgregarding the ambiguity I think it's interesting but too
confusing.

Paul