RubyConf 2006 "Leveraging Mac OS X from Ruby" by Laurent Sansonetti
Web 上のレポートをチェック
藤本さんの OSM の記事でも思ったけど、RubyOSA はかなりおもしろそう。Automator アクションも書けるはずだし、AppleScript であるがゆえに敬遠していた層を取りこめれば、RubyCocoa 以上に普及しそうな目はあるよな。今は svn からしか入手できないけど。
(2006/11/03 追記。10/26 に 0.1.0 が公開されている)
型変換のパフォーマンス向上を目的とした、Ruby 組み込みクラスの置き換えについては、以前の Laurent の話だと、String / Array / Hash といったよく使うクラスをCoreFoundation ベースで Ruby のクラスを実装すれば、Cocoa へも toll-free bridge でウマウマ!というモクロミだった。聞いたときは RegExp 以外は問題ないんじゃないかなあ、と思った気がする。RegExp も 1.9 の正規表現エンジンの Oniguruma をベースとした OgreKit もあることだし、そういう点では心配ないのかもしれない。
さいごにちゃちゃ。2人とも「Tiger では 1.8.4」て書いてるけど、Tiger は 1.8.2 だったような。Laurent が間違ってしゃべったんかな?
% /usr/bin/ruby -v
ruby 1.8.2 (2004-12-25) [powerpc-darwin8.0]
(以下 2006/11/14 追記)
まつもとさんと Laurent の話で、キーワード引数のあたりについて。
キーワード引数のメリットてのは
- コードを見たとき、引数の意味がわかりやすい
- 引数を省略できる
- 順番を気にしなくて良い
ということだと考えている。Objective-C のメソッドにマッピングするためには、
- 順番が重要(変更できない)
- すべてのキーワードを指定する必要がある
の 2点を満たす必要があるため、メリットとして残るのは 1. だけだ。そうなってくると、もうなくてもいいかなとも思うし、Ruby のキーワード引数の(将来の)仕様と折り合いをつけるのがなかなか難しいんじゃないかと、悲観的な予測をしている。