From: Robert Klemme Date: 2003-06-24T03:59:44+09:00 Subject: Block Scope Statement in the Pickaxe Hi, I stumbled across this quote in chapter 15, "Ruby Tk", which confused me a bit: "One small caution when using the code block form: the scope of variables is not what you think it is. The block is actually evaluated in the context of the widget's object, not the caller's. This means that the caller's instance variables will not be available in the block, but local variables from the enclosing scope and globals (not that you ever use those) will be." How can this be? I mean, AFAIK the block's binding refers to client code and cannot be changed afterwards. Or did I miss something? Is this some kind of implementation trick that can be done with a Ruby extension? Thanks for an explanation. Regards robert