在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. CSharpOptParse还有什么替代方案?
- 2. SWT TabFolder有什么替代方案?
- 3. InstallShield有什么好的替代方案?
- 4. 论坛有什么替代方案?
- 5. pinax有什么替代方案?
- 6. 什么是。jioster的.net替代方案
- 7. 什么是Google Analytics的替代方案
- 8. 什么是一些pagerank替代方案?
- 9. 什么是Struts 1.3的替代方案
- 10. LocationClient的替代方案是什么?
- 11. 什么是Apache Camel的替代方案
- 12. 什么是GarbageCollector的替代方案?
- 13. 外套的替代方案是什么?
- 14. 什么是MVC的替代方案?
- 15. 什么是C++方案的标记数据的替代方案
- 16. 模型 - 视图 - 控制器有什么替代方案?
- 17. 列表<T>有什么好处。查找替代方案?
- 18. MATLAB编辑器有什么替代方案?
- 19. BlogML项目已经死了,还有什么替代方案?
- 20. atos上的ios有什么替代方案?
- 21. QML QtQuick.Controls 2.2 Combobox没有selectByMouse;什么是替代方案?
- 22. NAnt中<first>有什么替代方案?
- 23. 为什么Ruby 1.9.2删除“。”来自LOAD_PATH,还有什么替代方案?
- 24. 弃用com.apple.eawt.ApplicationListener的替代方法有什么替代方法
- 25. HTMLElementVariable.animate(...)替代方案?
- 26. Nginx:more_clear_headers替代方案
- 27. VSTO替代方案
- 28. Example.com替代方案
- 29. WSO2替代方案
- 30. 替代方案deleteOnExit
这似乎过时了。下面提到的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