! 今日の発表の内容 !! 自己紹介 !! 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 [[hs.bmp]] !! 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使いは是非試してください !! フィードバックも期待 ! 質問 !おわり