/** rb_hash_each_value * */ public RubyHash each_valueCommon(final ThreadContext context, final Block block) { iteratorVisitAll(context, YieldValueVisitor, block); return this; }
/** rb_hash_each * */ public RubyHash eachCommon(final ThreadContext context, final Block block) { iteratorVisitAll(context, YieldArrayVisitor, block); return this; }
/** rb_hash_each_pair * */ public RubyHash each_pairCommon(final ThreadContext context, final Block block) { iteratorVisitAll(context, YieldKeyValueArrayVisitor, block); return this; }
/** rb_hash_each_value * */ public RubyHash each_valueCommon(final ThreadContext context, final Block block) { iteratorVisitAll(context, YieldValueVisitor, block); return this; }
/** rb_hash_each_key * */ public RubyHash each_keyCommon(final ThreadContext context, final Block block) { iteratorVisitAll(context, YieldKeyVisitor, block); return this; }
/** rb_hash_each_pair * */ public RubyHash each_pairCommon(final ThreadContext context, final Block block) { iteratorVisitAll(context, YieldKeyValueArrayVisitor, block); return this; }
/** rb_hash_each_value * */ public RubyHash each_valueCommon(final ThreadContext context, final Block block) { iteratorVisitAll(new Visitor() { public void visit(IRubyObject key, IRubyObject value) { block.yield(context, value); } }); return this; }
/** rb_hash_each_key * */ public RubyHash each_keyCommon(final ThreadContext context, final Block block) { iteratorVisitAll(new Visitor() { public void visit(IRubyObject key, IRubyObject value) { block.yield(context, key); } }); return this; }
/** rb_hash_each * */ public RubyHash eachCommon(final ThreadContext context, final Block block) { iteratorVisitAll(context, YieldArrayVisitor, block); return this; }
@Deprecated public RubyHash each_pairCommon(final ThreadContext context, final Block block, final boolean oneNine) { iteratorVisitAll(context, YieldKeyValueArrayVisitor, block); return this; }
@Deprecated public RubyHash each_pairCommon(final ThreadContext context, final Block block, final boolean oneNine) { iteratorVisitAll(context, YieldKeyValueArrayVisitor, block); return this; }
/** rb_hash_delete_if * */ public RubyHash delete_ifInternal(ThreadContext context, Block block) { modify(); iteratorVisitAll(context, DeleteIfVisitor, block); return this; }
/** rb_hash_delete_if * */ public RubyHash delete_ifInternal(ThreadContext context, Block block) { modify(); iteratorVisitAll(context, DeleteIfVisitor, block); return this; }
public boolean keep_ifCommon(final ThreadContext context, final Block block) { testFrozen("Hash"); KeepIfVisitor kif = new KeepIfVisitor(); iteratorVisitAll(context, kif, block); return kif.modified; }
public boolean keep_ifCommon(final ThreadContext context, final Block block) { testFrozen("Hash"); KeepIfVisitor kif = new KeepIfVisitor(); iteratorVisitAll(context, kif, block); return kif.modified; }
/** rb_hash_reject * */ public RubyHash rejectInternal(ThreadContext context, Block block) { final RubyHash result = newHash(context.runtime); iteratorVisitAll(context, new RejectVisitor(result), block); return result; }
@JRubyMethod(name = "hash") public RubyFixnum hash(ThreadContext context) { final int size = size(); long[] hval = { Helpers.hashStart(context.runtime, size) }; if (size > 0) { iteratorVisitAll(context, CalculateHashVisitor, hval); } return context.runtime.newFixnum(hval[0]); }
@JRubyMethod(name = "hash") public RubyFixnum hash(ThreadContext context) { final int size = size(); long[] hval = { Helpers.hashStart(context.runtime, size) }; if (size > 0) { iteratorVisitAll(context, CalculateHashVisitor, hval); } return context.runtime.newFixnum(hval[0]); }
@JRubyMethod(name = "transform_values!") public IRubyObject transform_values_bang(final ThreadContext context, final Block block) { if (block.isGiven()) { testFrozen("Hash"); TransformValuesVisitor tvf = new TransformValuesVisitor(); iteratorVisitAll(context, tvf, block); return this; } return enumeratorizeWithSize(context, this, "transform_values!", enumSizeFn()); }
/** rb_hash_select * */ @JRubyMethod(name = "select") public IRubyObject select(final ThreadContext context, final Block block) { final Ruby runtime = context.runtime; if (!block.isGiven()) return enumeratorizeWithSize(context, this, "select", enumSizeFn()); final RubyHash result = newHash(runtime); iteratorVisitAll(context, new SelectVisitor(result), block); return result; }