本文简要介绍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 Binding.local_variable_defined?用法及代码示例
- Ruby Binding.local_variable_set用法及代码示例
- Ruby Binding.local_variables用法及代码示例
- Ruby Binding.eval用法及代码示例
- Ruby Binding.irb用法及代码示例
- Ruby Binding.local_variable_get用法及代码示例
- Ruby BigMath.cos用法及代码示例
- Ruby BigDecimal.self >用法及代码示例
- Ruby BigMath.sin用法及代码示例
- Ruby BigDecimal.self >=用法及代码示例
- Ruby BigDecimal.floor用法及代码示例
- Ruby BigDecimal.to_s用法及代码示例
- Ruby BigDecimal.to_d用法及代码示例
- Ruby BigDecimal.save_rounding_mode用法及代码示例
- Ruby BigDecimal modulo用法及代码示例
- Ruby BigDecimal infinite?用法及代码示例
- Ruby BigDecimal.to_digits用法及代码示例
- Ruby BigDecimal.add用法及代码示例
- Ruby BigDecimal.save_exception_mode用法及代码示例
- Ruby BigDecimal to_f()用法及代码示例
- Ruby BigDecimal to_r()用法及代码示例
- Ruby BigDecimal exponent用法及代码示例
- Ruby BigDecimal.ceil用法及代码示例
- Ruby BigDecimal log()用法及代码示例
- Ruby BigDecimal sub()用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Binding类。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。