org.jruby.RubyHash.op_aset()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(6.4k)|赞(0)|评价(0)|浏览(81)

本文整理了Java中org.jruby.RubyHash.op_aset方法的一些代码示例,展示了RubyHash.op_aset的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RubyHash.op_aset方法的具体详情如下:
包路径:org.jruby.RubyHash
类名称:RubyHash
方法名:op_aset

RubyHash.op_aset介绍

[英]rb_hash_aset
[中]rb_hash_aset

代码示例

代码示例来源:origin: org.jruby/jruby-complete

@Override
  public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, RubyHash target) {
    target.op_aset(context, key, value);
  }
};

代码示例来源:origin: org.jruby/jruby-complete

@Override
  public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, RubyHash state) {
    state.op_aset(context, value, key);
  }
};

代码示例来源:origin: org.jruby/jruby-core

@Override
  public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, RubyHash state) {
    state.op_aset(context, value, key);
  }
};

代码示例来源:origin: org.jruby/jruby-core

@Override
  public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, RubyHash target) {
    target.op_aset(context, key, value);
  }
};

代码示例来源:origin: org.jruby/jruby-complete

@Override
  public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) {
    IRubyObject newValue = block.yield(context, value);
    self.op_aset(context, key, newValue);
  }
}

代码示例来源:origin: org.jruby/jruby-core

@Override
  public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) {
    IRubyObject newValue = block.yield(context, value);
    self.op_aset(context, key, newValue);
  }
}

代码示例来源:origin: org.jruby/jruby-complete

@Override
  public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) {
    // All kwargs keys must be symbols.
    TypeConverter.checkType(context, key, context.runtime.getSymbol());
    target.op_aset(context, key, value);
  }
}

代码示例来源:origin: org.jruby/jruby-complete

/**
 * Note: this is included as a compatibility measure for AR-JDBC
 * @deprecated use RubyHash.op_aset instead
 */
public IRubyObject aset(IRubyObject key, IRubyObject value) {
  return op_aset(getRuntime().getCurrentContext(), key, value);
}

代码示例来源:origin: org.jruby/jruby-core

@Override
  public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) {
    // All kwargs keys must be symbols.
    TypeConverter.checkType(context, key, context.runtime.getSymbol());
    target.op_aset(context, key, value);
  }
}

代码示例来源:origin: org.jruby/jruby-complete

/** rb_hash_slice
 *
 */
@JRubyMethod(name = "slice", rest = true)
public RubyHash slice(final ThreadContext context, final IRubyObject[] args) {
  RubyHash result = newHash(context.runtime);
  for (int i = 0; i < args.length; i++) {
    IRubyObject key = args[i];
    IRubyObject value = this.internalGet(key);
    if (value != null) result.op_aset(key, value);
  }
  return result;
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

public void visit(IRubyObject key, IRubyObject value) {
    if (block.isGiven()) {
      IRubyObject existing = self.internalGet(key);
      if (existing != null) {
        value = block.yield(context, RubyArray.newArrayNoCopy(runtime, new IRubyObject[]{key, existing, value}));
      }
    }
    self.op_aset(context, key, value);
  }
});

代码示例来源:origin: org.jruby/jruby-complete

@Override
  public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) {
    if (block.isGiven()) {
      IRubyObject existing = target.internalGet(key);
      if (existing != null) {
        value = block.yield(context, RubyArray.newArray(context.runtime, key, existing, value));
      }
    }
    target.op_aset(context, key, value);
  }
};

代码示例来源:origin: org.jruby/jruby-complete

@JRubyMethod
public RubyHash to_h(ThreadContext context) {
  RubyHash hash = RubyHash.newHash(context.runtime);
  RubyArray members = __member__();
  for (int i = 0; i < values.length; i++) {
    hash.op_aset(context, members.eltOk(i), values[i]);
  }
  return hash;
}

代码示例来源:origin: org.jruby/jruby-core

@Override
  public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) {
    if (block.isGiven()) {
      IRubyObject existing = target.internalGet(key);
      if (existing != null) {
        value = block.yield(context, RubyArray.newArray(context.runtime, key, existing, value));
      }
    }
    target.op_aset(context, key, value);
  }
};

代码示例来源:origin: org.jruby/jruby-core

@JRubyMethod
public RubyHash to_h(ThreadContext context) {
  RubyHash hash = RubyHash.newHash(context.runtime);
  RubyArray members = __member__();
  for (int i = 0; i < values.length; i++) {
    hash.op_aset(context, members.eltOk(i), values[i]);
  }
  return hash;
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

public void visit(IRubyObject key, IRubyObject value) {
    if (block.isGiven()) {
      IRubyObject existing = self.internalGet(key);
      if (existing != null) {
        value = block.yield(context, RubyArray.newArrayNoCopy(runtime, new IRubyObject[]{key, existing, value}));
      }
    }
    self.op_aset(context, key, value);
  }
});

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

@Override
  public RubyHash to_hash() {
    RubyHash hash = new RubyHash(getRuntime());
    Set<Map.Entry> entries = ((Map) ((JavaProxy)receiver).getObject()).entrySet();
    for (Map.Entry entry : entries) {
      IRubyObject key = JavaUtil.convertJavaToUsableRubyObject(getRuntime(), entry.getKey());
      IRubyObject value = JavaUtil.convertJavaToUsableRubyObject(getRuntime(), entry.getValue());
      hash.op_aset(getRuntime().getCurrentContext(), key, value);
    }
    return hash;
  }
}

代码示例来源:origin: org.jruby/jruby-complete

@JRubyMethod(name = "transform_keys!")
public IRubyObject transform_keys_bang(final ThreadContext context, final Block block) {
  if (block.isGiven()) {
    testFrozen("Hash");
    RubyArray keys = keys(context);
    Arrays.stream(keys.toJavaArrayMaybeUnsafe()).forEach((key) -> {
      op_aset(context, block.yield(context, key), delete(context, key));
    });
    return this;
  }
  return enumeratorizeWithSize(context, this, "transform_keys!", enumSizeFn());
}

代码示例来源:origin: org.jruby/jruby-core

@JRubyMethod(name = "transform_keys!")
public IRubyObject transform_keys_bang(final ThreadContext context, final Block block) {
  if (block.isGiven()) {
    testFrozen("Hash");
    RubyArray keys = keys(context);
    Arrays.stream(keys.toJavaArrayMaybeUnsafe()).forEach((key) -> {
      op_aset(context, block.yield(context, key), delete(context, key));
    });
    return this;
  }
  return enumeratorizeWithSize(context, this, "transform_keys!", enumSizeFn());
}

代码示例来源:origin: org.jruby/jruby-complete

private RubyArray getLines(ParserConfiguration configuration, Ruby runtime, String file) {
  RubyArray list = null;
  IRubyObject scriptLines = runtime.getObject().getConstantAt("SCRIPT_LINES__");
  if (!configuration.isEvalParse() && scriptLines != null) {
    if (scriptLines instanceof RubyHash) {
      list = runtime.newArray();
      ((RubyHash) scriptLines).op_aset(runtime.getCurrentContext(), runtime.newString(file), list);
    }
  }
  return list;
}

相关文章

微信公众号

最新文章

更多

RubyHash类方法