亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Ruby > 正文

Ruby實現命令行中查看函數源碼的方法

2020-10-29 19:44:18
字體:
來源:轉載
供稿:網友

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

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

復制代碼 代碼如下:

> 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]}`
=> ""

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

復制代碼 代碼如下:

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 中調用

復制代碼 代碼如下:

source_for(User.first, :update_attribute)

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

復制代碼 代碼如下:

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

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩中文字幕日韩欧美| 国产va免费精品高清在线| 日韩视频免费中文字幕| 久久99久久亚洲国产| 欧美极品美女视频网站在线观看免费| 亚洲图片在区色| 欧美巨大黑人极品精男| 国产v综合ⅴ日韩v欧美大片| 日韩中文字幕网站| 在线播放日韩欧美| 懂色av影视一区二区三区| 这里只有精品久久| 欧美日韩亚洲一区二区三区| 韩国福利视频一区| 中文字幕日韩在线观看| 久久久久久久久综合| 亚洲天堂av高清| 亚洲欧美日韩另类| 日本午夜精品理论片a级appf发布| 日韩国产精品亚洲а∨天堂免| 91av在线不卡| 成人av番号网| 亚洲欧美日韩在线高清直播| 亚洲精品欧美一区二区三区| 国产在线精品成人一区二区三区| 国产视频精品va久久久久久| 黄网站色欧美视频| 成人伊人精品色xxxx视频| 欧美精品免费播放| 国产精品影院在线观看| 91免费观看网站| 91国在线精品国内播放| 亚洲人成五月天| 欧美高清视频在线播放| 国产精品一区二区电影| 国产91精品久久久| 久久精品久久久久| 亚洲国产一区自拍| 久久精品免费电影| 亚洲精品www久久久久久广东| 伊人一区二区三区久久精品| 久久久久国色av免费观看性色| 亚洲品质视频自拍网| 久久久久成人网| 青青草国产精品一区二区| 亚洲网址你懂得| 97视频在线观看视频免费视频| 福利二区91精品bt7086| 国产精品美女网站| 国产一区二区三区久久精品| 国产成+人+综合+亚洲欧美丁香花| 91精品视频播放| 成人午夜在线视频一区| 4444欧美成人kkkk| 97视频色精品| 欧美日韩国产中字| 中文字幕在线视频日韩| 97视频免费在线观看| 91精品国产自产在线| 亚洲精品xxxx| 在线a欧美视频| 国产一区二区三区在线| 国产精品伦子伦免费视频| 日韩av高清不卡| 欧美性xxxx极品高清hd直播| 欧美日韩一区二区在线| 中文字幕欧美精品日韩中文字幕| 欧洲成人午夜免费大片| 美日韩精品视频免费看| 色诱女教师一区二区三区| 亚洲人成网在线播放| 亚洲成色777777在线观看影院| 51精品在线观看| 97国产suv精品一区二区62| 成人精品视频久久久久| 久久成人综合视频| 日韩一区视频在线| 成人有码视频在线播放| 欧美日韩精品在线| 成人美女av在线直播| 欧美日韩亚洲91| 日韩一区二区三区国产| 日产日韩在线亚洲欧美| 欧美极品美女电影一区| 青青草一区二区| 国产精品入口日韩视频大尺度| 人妖精品videosex性欧美| 国产欧美一区二区三区久久人妖| 理论片在线不卡免费观看| 国产成人精品av| 91精品久久久久久久久| 亚洲国产精品嫩草影院久久| 欧美日韩裸体免费视频| xvideos成人免费中文版| 国产精品黄色av| 亚洲一级黄色av| 欧美激情亚洲一区| 欧美视频在线观看免费网址| 欧美剧在线观看| www.欧美免费| 久久99精品视频一区97| 精品福利在线视频| 中文字幕亚洲欧美日韩2019| 欧美激情视频在线免费观看 欧美视频免费一| 九九热这里只有精品6| 国产精品久久久久免费a∨大胸| 91精品91久久久久久| 成人在线一区二区| 亚洲第一区中文99精品| 国产精品久久久久久久美男| 亚洲欧美在线x视频| 日韩免费在线播放| 热久久这里只有精品| 最近2019中文字幕在线高清| 久久成人精品视频| 久久精品成人一区二区三区| 在线视频精品一| 97久久久免费福利网址| 日韩美女中文字幕| 久久成人精品电影| 亚洲精品国产精品国自产观看浪潮| 欧美日韩一区二区精品| 成人乱色短篇合集| 国产精品入口免费视| 亚洲激情在线视频| 最新91在线视频| 亚洲精品福利免费在线观看| 国产精品久久久久久久久久小说| 91精品美女在线| 欧美亚洲日本黄色| 精品国产一区二区三区在线观看| 亚洲男人天堂视频| 日韩中文在线不卡| 国产精品偷伦一区二区| 久久久久亚洲精品| 亚洲aa在线观看| 国产精品jizz在线观看麻豆| 国内精品小视频在线观看| 深夜福利国产精品| 日韩有码在线视频| 精品久久久久久电影| 亚洲第一精品电影| 91香蕉嫩草神马影院在线观看| 亚洲丝袜一区在线| 久久久综合免费视频| 一区三区二区视频| 成人写真视频福利网| 久久九九亚洲综合| 国产日韩精品电影| 久热精品在线视频| 欧美一级bbbbb性bbbb喷潮片| 国产精品老女人精品视频| 日本在线精品视频| 国产欧美在线播放| 日韩在线播放一区| 日韩在线视频观看| 亚洲成人a**站| 欧美日韩国产页| 欧美成人午夜影院| 国产精品久久国产精品99gif| 亚洲色图五月天| 亚洲精品网站在线播放gif| 日韩精品在线观看网站| 黑人巨大精品欧美一区二区一视频|