今日の発表の内容

自己紹介

RRSEとは何か

RRSEの機能詳細

RRSEのデモ

RRSEの今後

今日の発表について

発表資料のURL

http://www.kmc.gr.jp/~ohai/RRSE-RubyKansai.txt

自己紹介

京都大学理学研究科数学数理解析専攻数学系博士課程1回

専門分野は力学系

京大マイコンクラブ部員

http://www.kmc.gr.jp/~ohai/

Ruby関連について

Ruby/SDL

Ruby Refactoring Browser

rdoc ドキュメントの勝手翻訳

Ruby/SDL

Ruby から SDL を使うためのライブラリ

Simple Directmedia Layer の略

SDL は画像高速描画、入力の取扱、音声出力などのライブラリ

いろんなプラットフォームで使えることが特徴

ゲームなどを作るのに広く使われている

つまりRubyでゲームなどが作れる

http://www.kmc.gr.jp/~ohai/rubysdl.html

Ruby Refactoring Browser

いわゆる開発ツール

リファクタリング

ソースコード改善のテクニック

マーチン・ファウラー「リファクタリング」

Ruby でのリファクタリングを支援

Emacs, Vim 等で動作

http://www.kmc.gr.jp/proj/rrb/

RRSEとは何か

EmacsからRubyのリファレンスを見るツール

ミニバッファに情報を表示

http://www.kmc.gr.jp/~ohai/rrse.html

既存のツール

ReFe, ri, refe.el などなど

ReFe - http://www.loveruby.net/ja/prog/refe.html

ri - Ruby の処理系に付属

refe.el - http://ns103.net/~arai/ruby/refe.el

これらとの違いは?

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使いは是非試してください

フィードバックも期待

質問

おわり