在python世界中,有許多替代python解釋器可以添加很酷的附加功能。一個特別有用的例子是bpython,它添加了動態語法高亮顯示,自動提取文檔並顯示實時自動完成信息。在Ruby世界中,我還沒有發現任何添加到基本IRB解釋器甚至是這些功能子集的項目。我是不是很難看,或者這只是Ruby社區缺乏的東西?IRB有什麼替代方案?
31
A
回答
28
真是巧合。 Rubyflow剛剛在昨天宣佈了irbtools寶石,這是一個包含許多酷irb增強寶石的元寶石。它包含:
- 彩色化,並通過
wirb
和fancy_irb
- 尼斯IRB提示和IRB的自動縮進
- 包括STDLIB的文件實用程序註釋輸出:
ls
,cd
,pwd
,ln_s
,rm
,mkdir
,touch
cat
, - 許多調試助手:
ap
,q
,o
,c
,y
,Object#m
,Object#d
ap
- awesome_printq
- 像p
,但在一行Object#m
- 有序的方法列表(取整數參數:嵌套的水平)Object#d
- 放對象,返回自(使用tap
)
- 「魔法」信息常量:
Info, OS, RubyVersion, RubyEngine
OS.windows?
RubyEngine.jruby?
RubyVersion.is.at_least? 1.9
- 剪貼板功能:
copy
和paste
- 還有:
copy_input
和copy_output
會話歷史
- 還有:
- 呼叫
vim
(或其他支持編輯器)來編輯文件,關閉它,它被加載到您當前的IRB會議上,搭載interactive_editor
- 活載的另一種方式進入IRB:素描
- 亮點與
olorize('string')
字符串或ray('path')
文件,搭載coderay - 顯示ActiveRecord的數據庫條目表與
hirb
- 重啓
irb
與reset!
或改變Ruby的版本與use
方法和rvm!
- 包括負載路徑中的當前目錄(在1.9.2出於安全原因被刪除,但在IRB煩)
- 較短的要求是這樣的:
rq:mathn
- 並與
rrq
- rerquiring嘗試包括
Object#ri
幫手,搭載ori
! - 獲得了很多的命令與
boson
- 命令撥打電話上手
有在irbtools頁面上漂亮的屏幕截圖。關於它的一個好處是,每個公用程序都可以獨立運行,以防止您只想選擇一個或兩個功能。
2013更新
自從我寫了這個,Pry已成爲一種流行IRB更換。它不會像irbtools
開箱即用,但它可以通過添加很酷功能的插件寶石進行擴展。您可以瀏覽源代碼,就像是一個UNIX目錄:
pry(main)> cd FileUtils
pry(FileUtils):1> show-method rm
From: /opt/ruby/lib/ruby/1.9.1/fileutils.rb @ line 556:
Number of lines: 10
Owner: FileUtils
def rm(list, options = {})
fu_check_options options, OPT_TABLE['rm']
list = fu_list(list)
fu_output_message "rm#{options[:force] ? ' -f' : ''} #{list.join ' '}" if options[:verbose]
return if options[:noop]
list.each do |path|
remove_file path, options[:force]
end
end
pry(FileUtils):2>
您還可以瀏覽Ruby文檔,問題shell命令,如果你是一個Rails的用戶,可以使用pry-rails
寶石來獲得撬你Rails控制檯。還有一種方法可以將它與Sinatra掛鉤並與Heroku一起使用。
有足夠的文檔 - 有一堆屏幕錄像,包括Railscast。這絕對值得一看。
1
2
3
我從來沒有聽說過(流行)的替代IRB的,但當然有一些有用的寶石,使內部評級經驗要好很多:
- awesome_print漂亮的打印紅寶石縮進和着色對象,當試圖查看嵌套散列或其他複雜的數據結構時非常有用。
- looksee也非常棒,它提供了一個方法
lp
(查找路徑),它顯示了Ruby對象從哪裏(類,超類等)獲取它的方法。 - Sketches連接你的編輯器和IRB,所以它特別有用,如果你是喜歡交互式開發的類型。 Emacs與
inf-ruby
也是很好的。 - Wirble是一整套IRB增強功能,如標籤填充和語法高亮顯示。也有Utility Belt,但我不親自使用它,所以不能評論它的功能。
編輯
忘Hirb,這對於例如非常有用在Rails控制檯中顯示ActiveRecord查詢的結果。
1
退房ripl,這是一個模塊化的irb替代品,其設計是可擴展的。您也可以從Is there something like bpython for Ruby?得到一些答案。
2
JRuby附帶jirb_swing
,它提供代碼完成。
33
讓我們你:在運行時
- 啓動會話
- 視圖法源代碼
- 視圖方法的文檔(不那麼你不必預先生成使用RI它)
- 彈出和彈出不同的上下文
- 語法突出顯示 個
- 要點整合
- 視圖和重播歷史
- 打開的編輯器使用
edit-method obj.my_method
語法
一噸偉大的和原有的特色
0
rib是一個模塊化的光紅寶石交互shell編輯方法。
它,像撬,使用Ruby的解析器所以具有紅寶石因而更少的錯誤(例如https://stackoverflow.com/a/39271791/474597)一致的行爲
它是模塊化的,因此可以很容易地將其與更多的功能延伸。
它也仍然積極維護,截至2016年。
相關問題
- 1. InstallShield有什麼好的替代方案?
- 2. 論壇有什麼替代方案?
- 3. CSharpOptParse還有什麼替代方案?
- 4. pinax有什麼替代方案?
- 5. SWT TabFolder有什麼替代方案?
- 6. 什麼是。jioster的.net替代方案
- 7. 什麼是MVC的替代方案?
- 8. 什麼是GarbageCollector的替代方案?
- 9. 什麼是Apache Camel的替代方案
- 10. 外套的替代方案是什麼?
- 11. 什麼是一些pagerank替代方案?
- 12. 什麼是iFrame的替代方案?
- 13. 什麼是Struts 1.3的替代方案
- 14. 什麼是Google Analytics的替代方案
- 15. 什麼是innerHTML的替代方案,riotjs
- 16. LocationClient的替代方案是什麼?
- 17. copyAcroForm的替代方案是什麼?
- 18. paymentWithProductIdentifier是什麼替代解決方案?
- 19. 什麼是C++方案的標記數據的替代方案
- 20. 是否有替代方案
- 21. 爲什麼Facebook PHP SDK已過時?什麼是替代方案?
- 22. QML QtQuick.Controls 2.2 Combobox沒有selectByMouse;什麼是替代方案?
- 23. 模型 - 視圖 - 控制器有什麼替代方案?
- 24. 在內存rabbitmq替代方案有什麼好的.net
- 25. MATLAB編輯器有什麼替代方案?
- 26. 在Django中Userena有什麼替代方案?
- 27. java.awt.GraphicsConfiguration是否線程安全?有什麼替代方案
- 28. atos上的ios有什麼替代方案?
- 29. 列表<T>有什麼好處。查找替代方案?
- 30. BlogML項目已經死了,還有什麼替代方案?
這似乎過時了。下面提到的Pry已經獲得了足夠的動力,似乎是irb的首選替代品。 – 2011-10-17 14:40:46
感謝您使用Pry的指針。看起來不錯!它與irbtools有着不同的關注點 - 它會進行更多的代碼自省。我不再羨慕Python的REPL。 :)但是,我不認爲irbtools已過時,因爲它已更新爲Rails 3並仍然適用於我。 – 2011-10-17 18:33:39
更新的項目主頁:https://github.com/janlelis/irbtools – 2012-07-07 04:04:21