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(&quot;@secret&quot;, b1)   #=&gt; 99\n   eval(&quot;@secret&quot;, b2)   #=&gt; -3\n   eval(&quot;@secret&quot;)       #=&gt; 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