[譯] Ruby 2.6 Binding 物件增加 source_location 方法

Madao-3發表於2018-08-02

本部落格系列翻譯自 Bigbinary 的 Ruby 2.6 系列, 已得到作者允許。Ruby 2.6.0-preview2 現已釋出

Before Ruby 2.6, if we want to know file name with location and line number of source code, we would need to use Binding#eval .

Ruby 2.6 之前,如果我們要知道原始碼對應的檔案和位置。我們需要使用 Binding#eval。

binding.eval('[__FILE__, __LINE__]')
=> ["/Users/taha/blog/app/controllers/application_controller", 2]
複製程式碼

Ruby 2.6 在底層增加了一個更具有可讀性的方法 Binding#source_location, 來得到類似的結果。 用法和效果和Method#source_location 是一樣的。

binding.source_location
=> ["/Users/taha/blog/app/controllers/application_controller", 2]
複製程式碼

這裡是相關的commit討論

原文地址

部落格地址

相關文章