Current File : //proc/thread-self/root/opt/alt/ruby18/share/ri/1.8/system/Binding/cdesc-Binding.yaml |
--- !ruby/object:RI::ClassDescription
attributes: []
class_methods: []
comment:
- !ruby/struct:SM::Flow::P
body: Objects of class <tt>Binding</tt> encapsulate the execution context at some particular place in the code and retain this context for future use. The variables, methods, value of <tt>self</tt>, and possibly an iterator block that can be accessed in this context are all retained. Binding objects can be created using <tt>Kernel#binding</tt>, and are made available to the callback of <tt>Kernel#set_trace_func</tt>.
- !ruby/struct:SM::Flow::P
body: These binding objects can be passed as the second argument of the <tt>Kernel#eval</tt> method, establishing an environment for the evaluation.
- !ruby/struct:SM::Flow::VERB
body: " class Demo\n def initialize(n)\n @secret = n\n end\n def getBinding\n return binding()\n end\n end\n\n k1 = Demo.new(99)\n b1 = k1.getBinding\n k2 = Demo.new(-3)\n b2 = k2.getBinding\n\n eval("@secret", b1) #=> 99\n eval("@secret", b2) #=> -3\n eval("@secret") #=> nil\n"
- !ruby/struct:SM::Flow::P
body: Binding objects have no class-specific methods.
constants: []
full_name: Binding
includes: []
instance_methods:
- !ruby/object:RI::MethodSummary
name: clone
- !ruby/object:RI::MethodSummary
name: eval
name: Binding
superclass: Object