強化你的 irb

看板Ruby作者 (lala)時間18年前 (2006/10/20 16:26), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/6 (看更多)
出自我的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)

10/20 17:04, , 1F
喔喔..希望irb跟vim一樣強大 XD
10/20 17:04, 1F

10/20 17:05, , 2F
不過那個 .what? 想不到有什麼機會會用到 ~_~
10/20 17:05, 2F
文章代碼(AID): #15E8Wxhc (Ruby)
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
1
1
2
5
完整討論串 (本文為第 1 之 6 篇):
1
2
18年前, 10/20
1
1
2
5
0
2
文章代碼(AID): #15E8Wxhc (Ruby)