Hash

struct RHash

struct RHash {
    struct RBasic basic;
    struct st_table *tbl;
    int iter_lev;
    VALUE ifnone;
};
Hash の実体。iter_lev はイテレータからの異常脱出(break など)に対応する ためのようだ。ifnone は new の第一引数。new にブロックを渡したらその proc を値としてでなくコードとして使おう、という提案が最近 ruby-talk で しつこく繰り返されている。いいかげん学習しろ。ていうかなんでそんなに デフォルト値を使いたがるのだ? デフォルトってそんなに重要かなあ。 もっと全体を見ようぜー。