2009-07-01から1ヶ月間の記事一覧

負のインデックス

array.cを少し。pop、shift、[]=あたりを見ていると、何だかRubyがCに見えてくる。Arrayオブジェクトって、結局はVALUE型、つまりunsigned longの配列でしかない。ちょっと今さら驚いたのは、memcpy、memmoveがコピー先、コピー元で重複があってもいいという…

無理してでも

無理してでも色々と記録をつけようとしている。間が空くと、やる気が失せるという経験則から。細切れに何かやってるからダメなのかもしれない。Rubyの中身をのぞくのに、そっかgdbを使えば順が追えそうだと当たり前のことに気づいてやってみた。スタックトレ…

rb_funcallの先って

Rubyでオブジェクトの等値性あたりがどうなっているのか見てみた。Objectクラスの初期化時のメソッド登録は、 2496 rb_define_method(rb_cBasicObject, "==", rb_obj_equal, 1); 2497 rb_define_method(rb_cBasicObject, "equal?", rb_obj_equal, 1); 2498 r…

RHG再び

rb_internは、よく見るとグローバル変数とかクラス変数とかも変換してる。メソッドIDの取得じゃなくて、これはもっと一般に内部の文字列表現とIDの対応だったようだ。と思って久しぶりにRuby Hacking Guideを見てみたら、ちゃーんとあれこれ書いてある。また…

object.c

Rubyの勉強のために始めたブログのはずが、Rubyが置き去り。思い出したように少し何かをと思って、object.cを眺めてみた。すべてのオブジェクトの親ったって何ができるわけでもないし、見てもつまらないと思って、array.cとかstring.cがおもしろいと思ってた…

btrfs

今日は、なんとなくbtrfsのソースコードを眺めてみた。期待のファイルシステム。

ソースコードというのを眺めてみる

このところ、あれこれ本を読んだりソースコードを読んだりしている。Cが少し書けるようになった気がしたので、少しは読めるようになってるのじゃないかと思って、GNU Global+ブラウザでいろいろと読んでみている。読むだけじゃなくて少し手を入れたりできる…