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

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

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

RubyHash.fastASetSmall介绍

暂无

代码示例

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

public final void fastASetSmall(Ruby runtime, IRubyObject key, IRubyObject value, boolean prepareString) {
  if (prepareString) {
    fastASetSmallCheckString(runtime, key, value);
  } else {
    fastASetSmall(key, value);
  }
}

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

public static RubyHash constructSmallHash(Ruby runtime,
                     IRubyObject key1, IRubyObject value1, boolean prepareString1,
                     IRubyObject key2, IRubyObject value2, boolean prepareString2,
                     IRubyObject key3, IRubyObject value3, boolean prepareString3,
                     IRubyObject key4, IRubyObject value4, boolean prepareString4) {
  RubyHash hash = RubyHash.newSmallHash(runtime);
  hash.fastASetSmall(runtime, key1, value1, prepareString1);
  hash.fastASetSmall(runtime, key2, value2, prepareString2);
  hash.fastASetSmall(runtime, key3, value3, prepareString3);
  hash.fastASetSmall(runtime, key4, value4, prepareString4);
  return hash;
}

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

public final void fastASetSmall(Ruby runtime, IRubyObject key, IRubyObject value, boolean prepareString) {
  if (prepareString) {
    fastASetSmallCheckString(runtime, key, value);
  } else {
    fastASetSmall(key, value);
  }
}

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

public static RubyHash constructSmallHash(Ruby runtime,
                     IRubyObject key1, IRubyObject value1, boolean prepareString1,
                     IRubyObject key2, IRubyObject value2, boolean prepareString2,
                     IRubyObject key3, IRubyObject value3, boolean prepareString3,
                     IRubyObject key4, IRubyObject value4, boolean prepareString4,
                     IRubyObject key5, IRubyObject value5, boolean prepareString5) {
  RubyHash hash = RubyHash.newSmallHash(runtime);
  hash.fastASetSmall(runtime, key1, value1, prepareString1);
  hash.fastASetSmall(runtime, key2, value2, prepareString2);
  hash.fastASetSmall(runtime, key3, value3, prepareString3);
  hash.fastASetSmall(runtime, key4, value4, prepareString4);
  hash.fastASetSmall(runtime, key5, value5, prepareString5);
  return hash;
}

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

public static RubyHash constructSmallHash(Ruby runtime,
                     IRubyObject key1, IRubyObject value1, boolean prepareString1,
                     IRubyObject key2, IRubyObject value2, boolean prepareString2,
                     IRubyObject key3, IRubyObject value3, boolean prepareString3,
                     IRubyObject key4, IRubyObject value4, boolean prepareString4) {
  RubyHash hash = RubyHash.newSmallHash(runtime);
  hash.fastASetSmall(runtime, key1, value1, prepareString1);
  hash.fastASetSmall(runtime, key2, value2, prepareString2);
  hash.fastASetSmall(runtime, key3, value3, prepareString3);
  hash.fastASetSmall(runtime, key4, value4, prepareString4);
  return hash;
}

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

public static RubyHash constructSmallHash(Ruby runtime,
                     IRubyObject key1, IRubyObject value1, boolean prepareString1,
                     IRubyObject key2, IRubyObject value2, boolean prepareString2,
                     IRubyObject key3, IRubyObject value3, boolean prepareString3,
                     IRubyObject key4, IRubyObject value4, boolean prepareString4,
                     IRubyObject key5, IRubyObject value5, boolean prepareString5) {
  RubyHash hash = RubyHash.newSmallHash(runtime);
  hash.fastASetSmall(runtime, key1, value1, prepareString1);
  hash.fastASetSmall(runtime, key2, value2, prepareString2);
  hash.fastASetSmall(runtime, key3, value3, prepareString3);
  hash.fastASetSmall(runtime, key4, value4, prepareString4);
  hash.fastASetSmall(runtime, key5, value5, prepareString5);
  return hash;
}

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

public static RubyHash constructSmallHash(Ruby runtime,
                     IRubyObject key1, IRubyObject value1, boolean prepareString1,
                     IRubyObject key2, IRubyObject value2, boolean prepareString2,
                     IRubyObject key3, IRubyObject value3, boolean prepareString3) {
  RubyHash hash = RubyHash.newSmallHash(runtime);
  hash.fastASetSmall(runtime, key1, value1, prepareString1);
  hash.fastASetSmall(runtime, key2, value2, prepareString2);
  hash.fastASetSmall(runtime, key3, value3, prepareString3);
  return hash;
}

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

public static RubyHash constructSmallHash(Ruby runtime,
                     IRubyObject key1, IRubyObject value1, boolean prepareString1,
                     IRubyObject key2, IRubyObject value2, boolean prepareString2,
                     IRubyObject key3, IRubyObject value3, boolean prepareString3) {
  RubyHash hash = RubyHash.newSmallHash(runtime);
  hash.fastASetSmall(runtime, key1, value1, prepareString1);
  hash.fastASetSmall(runtime, key2, value2, prepareString2);
  hash.fastASetSmall(runtime, key3, value3, prepareString3);
  return hash;
}

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

public static RubyHash constructSmallHash(Ruby runtime,
                     IRubyObject key1, IRubyObject value1, boolean prepareString1,
                     IRubyObject key2, IRubyObject value2, boolean prepareString2) {
  RubyHash hash = RubyHash.newSmallHash(runtime);
  hash.fastASetSmall(runtime, key1, value1, prepareString1);
  hash.fastASetSmall(runtime, key2, value2, prepareString2);
  return hash;
}

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

public static RubyHash constructSmallHash(Ruby runtime,
                     IRubyObject key1, IRubyObject value1, boolean prepareString1,
                     IRubyObject key2, IRubyObject value2, boolean prepareString2) {
  RubyHash hash = RubyHash.newSmallHash(runtime);
  hash.fastASetSmall(runtime, key1, value1, prepareString1);
  hash.fastASetSmall(runtime, key2, value2, prepareString2);
  return hash;
}

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

public static RubyHash constructSmallHash(Ruby runtime,
                     IRubyObject key1, IRubyObject value1, boolean prepareString1) {
  RubyHash hash = RubyHash.newSmallHash(runtime);
  hash.fastASetSmall(runtime, key1, value1, prepareString1);
  return hash;
}

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

@Override
  public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Object unused) {
    if (key instanceof RubySymbol) {
      if (syms == null) syms = RubyHash.newSmallHash(context.runtime);
      syms.fastASetSmall(key, value);
    } else {
      if (others == null) others = RubyHash.newSmallHash(context.runtime);
      others.fastASetSmall(key, value);
    }
  }
};

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

@Override
  public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Object unused) {
    if (key instanceof RubySymbol) {
      if (syms == null) syms = RubyHash.newSmallHash(context.runtime);
      syms.fastASetSmall(key, value);
    } else {
      if (others == null) others = RubyHash.newSmallHash(context.runtime);
      others.fastASetSmall(key, value);
    }
  }
};

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

public static RubyHash constructSmallHash(Ruby runtime,
                     IRubyObject key1, IRubyObject value1, boolean prepareString1) {
  RubyHash hash = RubyHash.newSmallHash(runtime);
  hash.fastASetSmall(runtime, key1, value1, prepareString1);
  return hash;
}

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

public static RubyHash newKwargs(Ruby runtime, String key, IRubyObject value) {
  RubyHash kwargs = newSmallHash(runtime);
  kwargs.fastASetSmall(runtime.newSymbol(key), value);
  return kwargs;
}

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

public static RubyHash newKwargs(Ruby runtime, String key, IRubyObject value) {
  RubyHash kwargs = newSmallHash(runtime);
  kwargs.fastASetSmall(runtime.newSymbol(key), value);
  return kwargs;
}

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

@JIT
public static RubyHash constructHashFromArray(Ruby runtime, IRubyObject[] pairs) {
  int length = pairs.length / 2;
  boolean useSmallHash = length <= 10;
  RubyHash hash = useSmallHash ? RubyHash.newSmallHash(runtime) : RubyHash.newHash(runtime);
  for (int i = 0; i < pairs.length;) {
    if (useSmallHash) {
      hash.fastASetSmall(runtime, pairs[i++], pairs[i++], true);
    } else {
      hash.fastASet(runtime, pairs[i++], pairs[i++], true);
    }
  }
  return hash;
}

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

@JIT
public static RubyHash constructHashFromArray(Ruby runtime, IRubyObject[] pairs) {
  int length = pairs.length / 2;
  boolean useSmallHash = length <= 10;
  RubyHash hash = useSmallHash ? RubyHash.newSmallHash(runtime) : RubyHash.newHash(runtime);
  for (int i = 0; i < pairs.length;) {
    if (useSmallHash) {
      hash.fastASetSmall(runtime, pairs[i++], pairs[i++], true);
    } else {
      hash.fastASet(runtime, pairs[i++], pairs[i++], true);
    }
  }
  return hash;
}

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

@JRubyMethod(name = "to_h")
public IRubyObject to_h(ThreadContext context) {
  Ruby runtime = context.runtime;
  int realLength = this.realLength;
  boolean useSmallHash = realLength <= 10;
  RubyHash hash = useSmallHash ? RubyHash.newSmallHash(runtime) : RubyHash.newHash(runtime);
  for (int i = 0; i < realLength; i++) {
    IRubyObject elt = eltInternal(i).checkArrayType();
    if (elt == context.nil) {
      throw context.runtime.newTypeError("wrong element type " + eltInternal(i).getMetaClass().getRealClass() + " at " + i + " (expected array)");
    }
    RubyArray ary = (RubyArray)elt;
    if (ary.getLength() != 2) {
      throw context.runtime.newArgumentError("wrong array length at " + i + " (expected 2, was " + ary.getLength() + ")");
    }
    if (useSmallHash) {
      hash.fastASetSmall(runtime, ary.eltInternal(0), ary.eltInternal(1), true);
    } else {
      hash.fastASet(runtime, ary.eltInternal(0), ary.eltInternal(1), true);
    }
  }
  return hash;
}

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

@JRubyMethod(required = 1, optional = 1)
public IRubyObject glob(ThreadContext context, IRubyObject[] _args, Block block) {
  Ruby runtime = context.runtime;
  IRubyObject[] args = new IRubyObject[3];
  boolean blockGiven = block.isGiven();
  args[0] = _args[0];
  if (_args.length == 1) {
    args[1] = RubyFixnum.zero(runtime);
  } else {
    args[1] = _args[1];
  }
  args[2] = RubyHash.newSmallHash(runtime);
  ((RubyHash) args[2]).fastASetSmall(runtime.newSymbol("base"), context.runtime.getFile().callMethod(context, "realpath", getPath()));
  JavaSites.PathnameSites sites = sites(context);
  CallSite glob = sites.glob;
  RubyArray ary;
  long i;
  ary = glob.call(context, this, runtime.getDir(), args).convertToArray();
  CallSite op_plus = sites.op_plus;
  for (i = 0; i < ary.size(); i++) {
    IRubyObject elt = ary.eltOk(i);
    elt = op_plus.call(context, this, this, elt);
    ary.eltSetOk(i, elt);
    if (blockGiven) block.yield(context, elt);
  }
  return blockGiven ? context.nil : ary;
}

相关文章

微信公众号

最新文章

更多

RubyHash类方法