2008-06-26 Inside Ruby.pm Perl Shibuya.pm 資料:http://www.ipe.tsukuba.ac.jp/~s0710509/InsideRuby.pdfひたすら実装の話をしてきた。説明しているほうもしんどかったが聞いているほうはもっとしんどかったに違いない。「Ruby.pmの基本的な仕組みはすごく簡単」ということをアピールするつもりが,逆効果だった気がする。最初に「Perl世界 -> SV2VALUE -> Ruby世界 -> VALUE2SV -> Perl世界」という図でも入れればよかった。Ruby.pmについてのTODO: [BUG] Rubyの拡張ライブラリが"undefined symbol: rb_cObject"で呼び出せない SystemStackError(無限再帰などでよく出るエラー)がでる理由が分からない [仕様] 代入アクセサのインターフェイス(0.01, 0.03, 0.04で一通り試してみた) $obj->{foo} = $bar; # via method call 0.04 $obj->foo = $bar; # Ruby的には自然だが実装が煩雑 0.01 $obj->{'@foo'} = $bar; # via rb_ivar_*() C-API 0.03 (危険なので不採用) $obj->{foo}を[]/[]=にバインドする手もある そうするとHash->new->{foo} = 1; 等が可能になるが,0.04のアクセサインターフェイスと合わない