きりかノート 3冊め

おあそびプログラミング

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 の話で、キーワード引数のあたりについて。

キーワード引数のメリットてのは

  1. コードを見たとき、引数の意味がわかりやすい
  2. 引数を省略できる
  3. 順番を気にしなくて良い

ということだと考えている。Objective-C のメソッドにマッピングするためには、

  • 順番が重要(変更できない)
  • すべてのキーワードを指定する必要がある

の 2点を満たす必要があるため、メリットとして残るのは 1. だけだ。そうなってくると、もうなくてもいいかなとも思うし、Ruby のキーワード引数の(将来の)仕様と折り合いをつけるのがなかなか難しいんじゃないかと、悲観的な予測をしている。