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