/*      each_hash(with_table=false) {...}    */
static VALUE each_hash(int argc, VALUE* argv, VALUE obj)
{
    VALUE with_table;
    VALUE hash;
    check_free(obj);
    rb_scan_args(argc, argv, "01", &with_table);
    if (with_table == Qnil)
        with_table = Qfalse;
    while ((hash = fetch_hash2(obj, with_table)) != Qnil)
        rb_yield(hash);
    return obj;
}