当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Binding类用法及代码示例


本文简要介绍ruby语言中 Binding类 的用法。

Binding 类的对象将执行上下文封装在代码中的某个特定位置,并保留此上下文以供将来使用。 self 的变量、方法、值以及可能在此上下文中可以访问的迭代器块都被保留。 Binding 对象可以使用 Kernel#binding 创建,并且可用于 Kernel#set_trace_func 的回调和 TracePoint 的实例。

这些绑定对象可以作为 Kernel#eval 方法的第二个参数传递,为评估建立环境。

class Demo
  def initialize(n)
    @secret = n
  end
  def get_binding
    binding
  end
end

k1 = Demo.new(99)
b1 = k1.get_binding
k2 = Demo.new(-3)
b2 = k2.get_binding

eval("@secret", b1)   #=> 99
eval("@secret", b2)   #=> -3
eval("@secret")       #=> nil

Binding 对象没有特定于类的方法。

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Binding类。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。