----- Original Message -----
From: "Yukihiro Matsumoto" <matz / ruby-lang.org>


>
> Perhaps because it is very hard to consider a block by indentation as
> an expression for human recognition.  In Ruby we can,
>
>   inc = array.collect do |x|
>     p x  # for debugging purpose
>     x + 1
>   end
>
> but using significant indentation,
>
>   inc = map(array, lambda x:
>                       print x
>                       x + 1)
>
> makes me feel weird.  Maybe this comes from mixing expression grouping
> by parenthesises, and statement grouping by indentation.

I believe that the above is not legal Python.  "Naturally", a lambda cannot
have any statements, only expressions.  And only one expression, at that, "of
course".

The really weird thing is that map is a function, not a method.  Oh well...

> matz.

Gavin