強化你的 irb
剛剛看到 JavaEye 這一篇 强化irb,感到十分的興奮。特別寫出來,感謝對岸的cookoo先生。以下功能在 Linux 下面測試,均可直接套用到 ruby script/console 。
安裝
然後就可以開始使用了
我們發現到有許多新功能(我只列出我覺得很有用的功能)
1. 使用ri
2. reaular expression 快速查詢
他會將這個regular expression match 的部份用 << >> 標起來
一個相當不賴的功能, a.what? b
他會列出有a所有 method 當中,所有可能讓 a 變成 b的 api
延伸閱讀
安裝
- 安裝下列套件 wirble, map_by_method, what_methods
gem i wirble map_by_method what_methods - 寫入到 home 底下的 .irbrc 下面
# Compiled by Cookoo
# Reference:
# http://drnicwilliams.com/2006/10/12/my-irbrc-for-consoleirb
# http://pablotron.org/software/wirble/require 'rubygems'
require 'what_methods'
require 'wirble'
require 'irb/completion'IRB.conf[:AUTO_INDENT]=true
class Regexp
def show(a)
a =~ self ? "#{$`}<<#{$&}>>#{$'}" : "no match"
end
endWirble.init
Wirble.colorize unless Config::CONFIG['host_os'] == 'mswin32'
然後就可以開始使用了
我們發現到有許多新功能(我只列出我覺得很有用的功能)
- irb 有顏色了
- 歷史紀錄(原本的irb 也有,但是跳出irb,再重新進入irb 就不能叫出以前的紀錄了)
- tab auto-complete
- 直接可以使用ri查詢doc
- regular expression 快速查詢
- 可以使用 pp
- .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 的部份用 << >> 標起來
3. .what? 猜api>> /[a-z]+/.show "pi is 3.14"
=> "<<pi>> is 3.14"
一個相當不賴的功能, 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"]
延伸閱讀
沒有留言:
張貼留言