@JRubyMethod(name = "[]=") public final IRubyObject op_aset(ThreadContext context, IRubyObject index, IRubyObject value) { return setValue(context.runtime, convertArrayIndex(index), value); }
@JRubyMethod(name = "[]=") public final IRubyObject op_aset(ThreadContext context, IRubyObject index, IRubyObject value) { return setValue(context.runtime, convertArrayIndex(index), value); }
public static IRubyObject concatArraysDirect(ThreadContext context, Object original, IRubyObject additional) { final Ruby runtime = context.runtime; final int oldLength = Array.getLength(original); final int addLength = RubyFixnum.fix2int(Helpers.invoke(context, additional, "length")); ArrayJavaProxy proxy = ArrayUtils.newProxiedArray(runtime, original.getClass().getComponentType(), oldLength + addLength); System.arraycopy(original, 0, proxy.getObject(), 0, oldLength); for (int i = 0; i < addLength; i++) { IRubyObject val = Helpers.invoke(context, additional, "[]", runtime.newFixnum(i)); proxy.setValue(runtime, oldLength + i, val); // [ oldLen + i ] = val } return proxy; }
public static IRubyObject concatArraysDirect(ThreadContext context, Object original, IRubyObject additional) { final Ruby runtime = context.runtime; final int oldLength = Array.getLength(original); final int addLength = RubyFixnum.fix2int(Helpers.invoke(context, additional, "length")); ArrayJavaProxy proxy = ArrayUtils.newProxiedArray(runtime, original.getClass().getComponentType(), oldLength + addLength); System.arraycopy(original, 0, proxy.getObject(), 0, oldLength); for (int i = 0; i < addLength; i++) { IRubyObject val = Helpers.invoke(context, additional, "[]", runtime.newFixnum(i)); proxy.setValue(runtime, oldLength + i, val); // [ oldLen + i ] = val } return proxy; }