在python世界中,有许多替代python解释器可以添加很酷的附加功能.一个特别有用的示例是bpython,它添加了动态语法突出显示,自动提取文档,并显示实时自动完成信息.在Ruby世界中,我还没有发现任何添加到基本IRB解释器的项目,甚至是这些功能的一部分.我只是不够努力,或者这只是Ruby社区缺乏的东西?
hor*_*guy 33
使用Pry:http://pry.github.com
让你:
edit-method obj.my_method
语法编辑方法一吨更加伟大和原始的功能
Mar*_*mas 29
多么巧合.Rubyflow昨天宣布了irbtools宝石,这是一个包含大量酷炫irb增强宝石的元宝石.它包含:
wirb
和的注释fancy_irb
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
- 放置对象,返回self(使用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
olorize('string')
或带有文件的字符串ray('path')
hirb
irb
使用方法和重新启动reset!
或更改Ruby版本use
rvm!
rq:mathn
rrq
Object#ri
助手,由ori
!提供!boson
--call命令开始访问许多命令在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>
Run Code Online (Sandbox Code Playgroud)
您还可以浏览Ruby文档,发出shell命令,如果您是Rails用户,则可以使用pry-rails
gem在Rails控制台中获取pry.还有一种方法可以将它连接到Sinatra并与Heroku一起使用.
有丰富的文档 - 有一堆的截屏,包括一个Railscast的.这绝对值得研究.