2006-10-07
■ [ruby] Ruby勉強会@関西-12
行ってきた。
- 「すごいリファレンスマニュアル(仮題)」by 青木峰郎さん
- なんで「改善」でなく「全面刷新」なのか?というと、「デカいことやった方が面白いから」だそうな。アツイ。
- 「about nadoka」by 西山和広さん
- nadokaのbotってこんな簡単に作れるのか。NadokaWiki
- 「小波ゼミ卒研ネタから」by ゼミ生のみなさん
- 難しかったです(><)しかし他人の卒論なんて分からないもんかも。
- Ruby 初級者向けレッスン第9回「Rubyで学ぼうテスト駆動開発」
- 隣の方とペアプログラミングした。こんなに真面目にテスト書いたのは初めてかも知れんw
■ [vim] RRSV
RRSEのVim版が実装できそう。
obj.kind_of?(Array)
というコードの'd'あたりにカーソルを合わせると、メソッド名が"kind_of?"でレシーバが"obj"であることを表示する、というところ まではできた。
function s:FindBeginning(src, start) let p = a:start while strpart(a:src, p, 1) =~ "\\w" let p = p - 1 endwhile return p endfunction function s:GetReceiver(src, beg) let p = a:beg - 1 while strpart(a:src, p, 1) =~ "[A-Za-z0-9_@:]" let p = p - 1 endwhile return strpart(a:src, p+1, (a:beg-p-1)) endfunction function s:GetMethodName(src, start) let beg = s:FindBeginning(a:src, a:start) let receiver = "" if strpart(a:src, beg, 1) == "." let receiver = s:GetReceiver(a:src, beg) endif let method = matchstr(a:src, "\\w*\[!?]\\?", beg+1) return receiver . "の" . method endfunction function RRSV() let s = getline(line(".")) echo "`" . s:GetMethodName(s,col(".")-1) . "'" endfunction set updatetime=600 autocmd CursorHold *.vim call RRSV()
メソッド情報のデータベースはRRSEのをそのまま使わせてもらう予定。