當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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類。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。