Current Path : /usr/local/share/ri/1.8/system/Binding/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/local/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