今日の発表の内容
自己紹介
RRSEとは何か
RRSEの機能詳細
RRSEのデモ
RRSEの今後
今日の発表について
発表資料のURL
自己紹介
京都大学理学研究科数学数理解析専攻数学系博士課程1回
専門分野は力学系
京大マイコンクラブ部員
Ruby関連について
Ruby/SDL
Ruby Refactoring Browser
rdoc ドキュメントの勝手翻訳
Ruby/SDL
Ruby から SDL を使うためのライブラリ
Simple Directmedia Layer の略
SDL は画像高速描画、入力の取扱、音声出力などのライブラリ
いろんなプラットフォームで使えることが特徴
ゲームなどを作るのに広く使われている
つまりRubyでゲームなどが作れる
Ruby Refactoring Browser
いわゆる開発ツール
リファクタリング
ソースコード改善のテクニック
マーチン・ファウラー「リファクタリング」
Ruby でのリファクタリングを支援
Emacs, Vim 等で動作
RRSEとは何か
EmacsからRubyのリファレンスを見るツール
ミニバッファに情報を表示
既存のツール
ReFe, ri, refe.el などなど
ri - Ruby の処理系に付属
これらとの違いは?
ReFe, ri
コマンドラインから Ruby のリファレンスを表示
man みたいなもの
便利だが、ターミナルへ移動する必要がある
ReFe - 青木さん制作 - 日本語
ri - 英語
refe.el
ReFe を emacs から見るツール
いまいち面倒
ちょっと使ってみる
ReFeを直接使ったほうが便利か?
Haskell-mode
emacs の haskell 編集モード
カーソル下の関数の型(タイプ)を表示
これは格好良い
ということで
RRSEの誕生
Haskell-doc-mode を参考に開発
今年の1月に開発開始
2/11 に公開
最新版は ver 0.3
5/14公開
RRSEの機能詳細
Rubyのメソッドの情報を Emacs のミニバッファに表示
メソッド名
属するクラス
引数
ブロック
返り値
これと連動してリファレンスを引くことも可能
RRSEの機能詳細 (2)
ReFe と ri の情報を使える
データベース構築時に選択する
rdoc で生成したデータを読める
rdoc は ri 形式のデータを ~/.rdoc/ 以下に出力できる
ReFe と rdoc の情報を同時に使える
RRSEの機能詳細 (3)
動作には Emacs が必要
当然
Ruby と /bin/sh も必要
これはデータベースの構築と更新に利用
ReFe のデータを使うなら ReFe が必要
ri のデータを使うなら ri が必要
Unix like な環境ならだいたい動く
Cygwin + Meadow でも動くと思う
インストール
アーカイブを展開
必要なファイルをコピー
.emacs に設定を書く
rrse-make-table コマンドでデータベースを構築
RRSEのデモ
デモ
ReFe - 基本的な内容
ri
ReFe+rdoc
RRSEの実装
Rubyで表示用データベース生成
ReFe や ri の実装を利用し、データを読み出す
あらかじめソートをしておいて高速動作
~/.rrse/ 以下に出力
emacs-lisp で書かれた部分が中心
生成したデータを読み込み
post-command-hookを利用
カーソル下のメソッド名を得るためにかなりアドホックな処理をしている
RRSEの今後
あまり考えていない
補完機能でも付けようか
Debianパッケージ?
最後に
Emacs使いは是非試してください
フィードバックも期待
質問
おわり