婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Ruby實現(xiàn)命令行中查看函數(shù)源碼的方法

Ruby實現(xiàn)命令行中查看函數(shù)源碼的方法

熱門標(biāo)簽:天津外呼系統(tǒng)怎么收費 外呼線路從哪里出來的 AI電銷機(jī)器人 線路 漯河電銷 征服者企業(yè)地圖標(biāo)注 淮安自動外呼系統(tǒng)供應(yīng)商 中牟外呼系統(tǒng)違法嗎 巫師3地圖標(biāo)注魔力之所 柯城手機(jī)地圖如何做地圖標(biāo)注

如果要查看 ActiveRecord 的 update_attribute 函數(shù)的源代碼,一個比較常見的方法是直接在 Rails 源碼中搜索 def update_attribute。博客 The Pragmatic Studio 介紹了一個更方便的技巧,在 Ruby 命令行中就能啟動編輯器直接訪問。

通過 Object#method 方法可以獲得 update_attribute 方法的對象,而 Method#source_location 則返回這個方法定義的文件和位置。有了這個信息后,就能啟動編輯器查看源代碼了:

復(fù)制代碼 代碼如下:

> method = User.first.method(:update_attribute)
  User Load (0.5ms)  SELECT `users`.* FROM `users` LIMIT 1
=> #Method: User(ActiveRecord::Persistence)#update_attribute>

> location = method.source_location
=> ["/Users/wyx/.rvm/gems/ruby-1.9.2-p180/gems/activerecord-3.2.11/lib/active_record/persistence.rb",
 177]

> `subl #{location[0]}:#{location[1]}`
=> ""

把這段代碼封裝成函數(shù),加到 .pryrc 或者 .irbrc 中:

復(fù)制代碼 代碼如下:

def source_for(object, method)
  location = object.method(method).source_location
  `subl #{location[0]}:#{location[1]}` if location location[0] != '(eval)'
  location
end

如果要查看 User 的實例方法 update_attribute,可以直接在 pry / irb 中調(diào)用

復(fù)制代碼 代碼如下:

source_for(User.first, :update_attribute)

如果要使用其他編輯器,得把 subl #{location[0]}:#{location[1]} 換成這個編輯器對應(yīng)的命令行:

復(fù)制代碼 代碼如下:

# TextMate
mate #{location[0]} -l #{location[1]}

# MacVim
mvim #{location[0]} +#{location[1]}

# Emacs
emacs {location[0]} +#{location[1]}

您可能感興趣的文章:
  • Ruby中的方法(函數(shù))學(xué)習(xí)總結(jié)
  • Ruby中常用的字符串處理函數(shù)使用實例
  • ruby中的雙等號==問題詳解
  • Ruby里4種比較函數(shù)(equal?, eql?, ==, ===)詳解

標(biāo)簽:內(nèi)江 甘孜 大慶 棗莊 克拉瑪依 河池 西雙版納 南昌

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Ruby實現(xiàn)命令行中查看函數(shù)源碼的方法》,本文關(guān)鍵詞  Ruby,實現(xiàn),命令,行中,查看,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Ruby實現(xiàn)命令行中查看函數(shù)源碼的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Ruby實現(xiàn)命令行中查看函數(shù)源碼的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 马鞍山市| 萨嘎县| 南郑县| 正安县| 镶黄旗| 盐亭县| 略阳县| 华宁县| 镇坪县| 寻乌县| 修水县| 中山市| 伊吾县| 来凤县| 双城市| 亳州市| 曲松县| 高阳县| 长武县| 顺义区| 青阳县| 河池市| 昔阳县| 普陀区| 平武县| 江陵县| 府谷县| 忻城县| 舞钢市| 浙江省| 辽阳县| 华蓥市| 巴彦淖尔市| 漳州市| 石楼县| 正定县| 靖西县| 元朗区| 鄂托克前旗| 渑池县| 金坛市|