From: Matthias Georgi Date: 2006-01-04T09:52:57+09:00 Subject: Re: Implicit block parameter? It is also possible to instance_eval a passed block, like: module Enumerable def map_i(&block) map { |i| i.instance_eval(&block) } end end heads = queues.map_i { first } Now the block is evaled in the scope of each item, which is a little bit confusing, as you can't call methods of the surrounding scope. I don't like the implicit 'it', because there are already enough things to remember in ruby's syntax.