[#45298] グローバルにdefしたメソッドのスコープ — "takeru sasaki" <sasaki.takeru@...>
佐々木と申します。
10 messages
2008/08/06
[#45299] Re: グローバルにdefしたメソッドのスコープ
— rubikitch@...
2008/08/06
From: "takeru sasaki" <sasaki.takeru@gmail.com>
[#45318] Windows コマンドプロンプトで UTF-8を出力するには — Yuumi Yoshida <yuumi3@...>
おつかれさまです、 Yuumi3です。
11 messages
2008/08/08
[#45323] Re: Windows コマンドプロンプトで UTF-8を出力するには
— Yuumi Yoshida <yuumi3@...>
2008/08/08
こんばんは、Yuumi3です。
[#45324] tracer の出力が1.8,1.9では異なる。 — Kouya <kouyataifu4@...>
こんにちは、kouya です。
6 messages
2008/08/09
[#45334] def meth(*args, &block) の「*」「&」の呼び名は? — take_tk <ggb03124@...>
たけ(tk)です。
5 messages
2008/08/10
[#45356] nil.size — "ARAI Shunichi" <arai@...>
こんにちは、Rubyist九州の新井です。
9 messages
2008/08/19
[#45365] cygwinでRabyが動作しない。 — Kura syuu <kurasyuu@...>
初めまして 蔵修と申します。
11 messages
2008/08/22
[#45377] [ANN] REXMLのDoS脆弱性 — Shugo Maeda <shugo@...>
前田です。
5 messages
2008/08/23
[#45379] Design Patterns in Ruby — あひる <ahirusan@...>
あひる@Ducksysです。はじめまして。
5 messages
2008/08/23
[#45387] OpenSSL::CipherでのDESのやり方 — "Hideo Yamamoto" <deoohi@...>
はじめまして、山本と申します。
6 messages
2008/08/25
[#45393] JRubyについて&rubygemについて&RDTについて — Akira Hayakawa <ruby@...>
夜分遅くすいません。Akiraと申します。
10 messages
2008/08/25
[#45396] Re: JRubyについて&rubygemについて&RDTについて
— rubikitch@...
2008/08/25
From: Akira Hayakawa <ruby@i-mail.jp>
[#45397] Re: JRubyについて&rubygemについて&RDTについて
— Akira Hayakawa <ruby@...>
2008/08/25
ありがとうございます。
[#45398] Re: JRubyについて&rubygemについて&RDTについて
— rubikitch@...
2008/08/25
From: Akira Hayakawa <ruby@i-mail.jp>
[#45399] Re: JRubyについて&rubygemについて&RDTについて
— Akira Hayakawa <ruby@...>
2008/08/25
On Tue, 26 Aug 2008 08:27:24 +0900
[#45400] Re: JRubyについて&rubygemについて&RDTについて
— rubikitch@...
2008/08/26
From: Akira Hayakawa <ruby@i-mail.jp>
[#45406] Ruby1.9のインストールに失敗しました — Akira Hayakawa <ruby@...>
環境はUbuntu Linuxです。
7 messages
2008/08/27
[#45414] This is TestMail (テストメール) — "masataka kobayashi" <hotopoppo1@...>
I'm sorry . This is Test Mail
5 messages
2008/08/28
[#45427] Dir[] with **/ — Nobuhiro IMAI <nov@...>
いまいです。
8 messages
2008/08/29
[#45438] assert_equalの挙動について — Akira Hayakawa <ruby@...>
こんばんわ。Akiraです。
7 messages
2008/08/30
[#45447] sudo: gem: command not found — Akira Hayakawa <ruby@...>
EclipseのRDTはバグが多すぎて、DLTKはまだ開発途中
7 messages
2008/08/31
[#45448] Re: sudo: gem: command not found
— rubikitch@...
2008/08/31
From: Akira Hayakawa <ruby@i-mail.jp>
[#45449] やっぱりrubygemの仕組みがいまいち分かりません — Akira Hayakawa <ruby@...>
初期条件として、
8 messages
2008/08/31
[#45451] Re: やっぱりrubygemの仕組みがいまいち分かりません
— rubikitch@...
2008/08/31
From: Akira Hayakawa <ruby@i-mail.jp>
[#45454] Re: やっぱりrubygemの仕組みがいまいち分かりません
— Akira Hayakawa <ruby@...>
2008/08/31
On Sun, 31 Aug 2008 13:16:54 +0900
[ruby-list:45311] [ANN] rcodetools-0.8.0 - xmpfilter他、エディタ非依存開発支援ツール群
From:
rubikitch@...
Date:
2008-08-06 23:06:30 UTC
List:
ruby-list #45311
るびきちです。
rcodetools 0.8.0をリリースしました。
告知が遅くなってすみません。
rcodetools は Ruby のコードを扱うツール群です。
rcodetools には xmpfilter とエディタに依存しない開発支援ツールが含まれています。
Emacs と Vim のインターフェースも用意しています。
* xmpfilter: Test::Unit assert* / RSpec should* 自動生成、コード注釈
* rct-complete: 高精度メソッド名・クラス名・定数名等補完
* rct-doc: ドキュメント参照・コードナビゲーター
* rct-meth-args: 高精度メソッド情報リスト、TAGS ファイル作成
* rct-fork: Rails 等重いライブラリを予めロードし、補完を高速化する(サーバ)
* rct-fork-client: rct-fork サーバが保持する状態から Ruby スクリプトを実行する
* ruby-toggle-file: テストスクリプトと実装スクリプトを切り換える
* rbtest: 小規模スクリプトのための埋め込み Test::Unit
「gem install rcodetools」でインストールできます。
http://eigenclass.org/hiki.rb?rcodetools
0.7.0([ruby-list:43652])からの変更点は以下の通りです。
* Ruby 1.9対応!
* xmpfilter: ppを使った複数行注釈
* 「xmpfilter --expectations」でexpectationsのテストを生成
* anything-rcodetools.elを追加:anything.elで補完
* xmpfilterに「--tmpfile」オプションを追加
* rcodetools.el: xmpfilter-command関数がより賢くなった
* rcodetools.el: M-x rct-forkが使えるようになった
* rct-fork: より安定した
* rct-fork: rubygemsをデフォルトでロードするようになった
== Ruby 1.9対応
ついにRuby 1.9に対応しました。xmpfilter/rct-complete/rct-docで「-S」オ
プションを指定すると、Rubyインタプリタを指定することができます。
例えば、以下のファイル(version.rb)をruby19で注釈するには、
「xmpfiler -S ruby19 version.rb」を実行します。
$ cat version,rb
RUBY_VERSION # =>
$ xmpfilter -S ruby19 version.rb
RUBY_VERSION # => "1.9.0"
簡単にRubyインタプリタを切り換えられるので、バージョンごとの動作比較が
やりやすくなります。
== 複数行注釈
通常は「# =>」の後にinspectメソッドの結果を注釈していますが、巨大な配列
などを注釈すると行が長くなって見辛くなってしまいます。そこで、注釈した
い式の次の行頭(インデント可能)に「# =>」を置くと、pretty_inspectメソッ
ドでわかりやすく注釈されます。
a = [ 11111111111111112222222222222233333333333,
"test array",
[ :foo, :bar, :baz, :fobar],
]
if true
a
# =>
1 + 3
# =>
end
↓ (xmpfilter)
a = [ 11111111111111112222222222222233333333333,
"test array",
[ :foo, :bar, :baz, :fobar],
]
if true
a
# => [11111111111111112222222222222233333333333,
# "test array",
# [:foo, :bar, :baz, :fobar]]
1 + 3
# => 4
end
== expectationsテスティングフレームワークによるテスト自動生成
xmpfilterに「--expectations」オプションをつけると、expectationsテスティ
ングフレームワークによるテストが生成されます。
expectationsは「gem install expectations」でインストールできます。
理解しやすいテストコードになるのでお気に入りです。
require 'rubygems'
require 'expectations'
Expectations do
1+1 # =>
"aa".length # =>
end
↓ (xmpfilter --expectations)
require 'rubygems'
require 'expectations'
Expectations do
expect 2 do
1+1
end
expect 2 do
"aa".length
end
end
== anything.el との連携
Emacs界隈で流行っているanything.elのインターフェースを利用してメソッド
の補完を行う anything-rcodetools.el が添付されました。
http://d.hatena.ne.jp/rubikitch/20080104/1199438501
anything.elのメンテナも僕がやっています。anything.elの原作者から開発を
引き継ぎました。anything.elのバグレポ、要望などは<rubikitch __AT__
ruby-lang __DOT__ org> までメールください。
== xmpfilterで「--tempfile」、「--tmpfile」オプションを追加
Unix系OSではxmpfilterはopen3を使ってxmpfilterが生成する中間スクリプトを
実行しています。--tempfile、--tmpfileオプションをつけると、Windows同様
一時ファイルを利用するようになります。Ruby 1.9のエンコーディング対策で
す。
xmpfilterのデフォルトは標準入力からのスクリプトなのでmagic commentなし
でも日本語を認識します。(ロケールエンコーディング)
== rct-forkで重いライブラリのロードもへっちゃら
active_supportなど重いライブラリを使っている場合、注釈や補完がとても遅
くなってしまいます。なぜなら、注釈や補完のたびにスクリプトを実行してい
るからです。「time ruby -rubygems -e 'require "active_support"'」でロー
ド時間を計測すると、こちらの環境(Pentium4)では1秒前後もかかってしまい
ます。
# rct-forkなしの場合
start = Time.now
require 'rubygems'
require 'active_support'
2.hour # => 7200 seconds
# 経過時間
Time.now - start # => 0.962633
そこで、別の端末でrct-forkコマンドを使えば、予めロードされた状態で注釈
や補完が実行されるため、一瞬で実行が終わります。rct-forkはRubyGemsがロー
ドされているので、この場合「rct-fork -r active_support」を実行します。
rct-forkを終了するときは、Ctrl+Cで強制終了してください。
Emacsの中でrct-forkを起動することもできます。「M-x rct-fork」でオプショ
ンを入力します。rct-forkを終了するときは、「M-x rct-fork-kill」を実行し
ます。rct-forkが起動中のときはモードラインに <rct-fork> と出ます。
Vimインターフェースは次のリリースでサポートするでしょう。
# 「rct-fork -r active_support」を実行したとき
start = Time.now
require 'rubygems'
require 'active_support'
2.hour # => 7200 seconds
# 経過時間
Time.now - start # => 0.006392
fork(2)を使っているので、rct-forkが使えるのはUnix系OSのみです。
それではHappy Hacking!
--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/