From: Its Me Date: 2004-04-13T01:49:15+09:00 Subject: global variable and dynamic binding: question CONTEXT: I am working on some code for dynamic binding in Ruby. binding (what_to_bind_and_to_what) { # all code here (nested calls included) sees bindings above } # bindings revert here to previous values # code here sees bindings that existed prior to the binding(...) above. However, instead of the usual practice of binding a variable: binding (:var, value) { # all code here (nested calls included) sees :var as bound to value } I want to bind an attribute of an object binding (object, accessor, value) { # all code here (nested calls included) sees object.accessor == value } Reasoning: Ruby is all objects. References to most (all?) non-local variables should correspond to attribute access on some object, if you treat things like hash[key] as sugar for hash.get_attr(key). QUESTION: Do global variables in Ruby correspond to attributes on some object? Is there a way to get hold of that object and find or define accessors for those variables? Most specifically, if that object is referred to as _globals_, is there a way to define: def _globals_.get_attr (global_symbol) and def _globals_.set_attr (global_symbol, value) Thanks!