> > f.instance_eval{bar} # Won't fail... !!! > > Okay. Now I got totally confused. What's the purpose of > instance_eval? Instance_eval evaluates the given block within the context of the receiver. This means that bar is called from within the context of f itself. (You should have asked: "If we can do this, what's the purpose of 'protected' or 'private'?"...) gegroet, Erik V. - http://www.erikveen.dds.nl/