----- 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