From the link -> http://www.ruby-doc.org/core-2.0/Binding.html
Objects of class Binding encapsulate the execution context at some
particular place in the code and retain this context for future use. The
variables, methods, value of self, and possibly an iterator block
that can be accessed in this context are all retained. Binding
objects can be created using Kernel#binding, and are made available to
the callback of Kernel#set_trace_func.
can anyone help me to understand the fact by single examples of each the
*** lines above?