On Fri, 11 May 2007 06:37:07 +0900, Vasco Andrade e silva <vascoas / gmail.com> wrote:
> The "problem" to me is that in 1) 'self' seems to refer to the context
> where yield is called, where in 2) seems to refer to the context in
> execution.
> What should i expect from 'self'`s behaviour?

self will normally refer to self in the lexical scope of the block (#2).  class_eval, module_eval, instance_eval, and instance_exec are special exceptions to this rule.

-mental