作者giive (lala)
看板Ruby
标题 强化你的 irb
时间Fri Oct 20 16:27:17 2006
出自我的Blog
http://lightyror.blogspot.com/2006/10/irb.html
刚刚看到 JavaEye 这一篇 强化irb,感到十分的兴奋。特别写出来,感谢对岸的cookoo先生。以下功能在 Linux 下面测试,均可直接套用到 ruby script/console 。
安装
1. 安装下列套件 wirble, map_by_method, what_methods
gem i wirble map_by_method what_methods
2. 写入到 home 底下的 .irbrc 下面
# Compiled by Cookoo
# Reference:
#
http://drnicwilliams.com/2006/10/12/my-irbrc-for-consoleirb
#
http://pablotron.org/software/wirble/
require 'rubygems'
require 'map_by_method'
require 'what_methods'
require 'wirble'
require 'irb/completion'
IRB.conf[:AUTO_INDENT]=true
class Regexp
def show(a)
a =~ self ? "#{$`}<<#{$&}>>#{$'}" : "no match"
end
end
Wirble.init
Wirble.colorize unless Config::CONFIG['host_os'] == 'mswin32'
然後就可以开始使用了
我们发现到有许多新功能(我只列出我觉得很有用的功能)
1. irb 有颜色了
2. 历史纪录(原本的irb 也有,但是跳出irb,再重新进入irb 就不能叫出以前的纪录了)
3. tab auto-complete
4. 直接可以使用ri查询doc
5. regular expression 快速查询
6. 可以使用 pp
7. .what? 猜相关的 api
方式
1. 使用ri
>> ri 'String'
---------------------------------------------------------- Class: String
A +String+ object holds and manipulates an arbitrary sequence of
bytes, typically representing characters. String objects may be
created using +String::new+ or as lite....
2. reaular expression 快速查询
他会将这个regular expression match 的部份用 << >> 标起来
>> /[a-z]+/.show "pi is 3.14"
=> "<<pi>> is 3.14"
3. .what? 猜api
一个相当不赖的功能, a.what? b
他会列出有a所有 method 当中,所有可能让 a 变成 b的 api
>> 3.14.what? 3
3.14.floor == 3
3.14.to_int == 3
3.14.prec_i == 3
3.14.round == 3
3.14.to_i == 3
3.14.truncate == 3
=> ["floor", "to_int", "prec_i", "round", "to_i", "truncate"]
--
lighty RoR 是一个介绍 lighttpd , SQLite , Ruby and Rails 的 Blog
http://lightyror.blogspot.com/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.230.98.239
※ 编辑: giive 来自: 61.230.98.239 (10/20 16:27)
1F:推 PttHuge:喔喔..希望irb跟vim一样强大 XD 10/20 17:04
2F:→ PttHuge:不过那个 .what? 想不到有什麽机会会用到 ~_~ 10/20 17:05