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

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

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

RubyHash.hasDefaultProc介绍

暂无

代码示例

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

RubyString nameStr = RubyString.newString(runtime, name);
  raiseKeyError("key<" + name + "> not found", rubyHash, nameSym);
} else if (rubyHash.hasDefaultProc()) {
  object = object.callMethod(runtime.getCurrentContext(), "call", nameSym);

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

RubyString nameStr = RubyString.newString(runtime, name);
  raiseKeyError("key<" + name + "> not found", rubyHash, nameSym);
} else if (rubyHash.hasDefaultProc()) {
  object = object.callMethod(runtime.getCurrentContext(), "call", nameSym);

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

private IRubyObject getHashValue(ByteList name, char startDelim, char endDelim) {
  // FIXME: get_hash does hash conversion of argv and arity check...this is a bit complicated with
  // our version.  Implement it.
  if (rubyHash == null) {
    raiseArgumentError("one hash required");
  }
  checkNameArg(name, startDelim, endDelim);
  RubySymbol nameSym = runtime.newSymbol(name);
  IRubyObject object = rubyHash.fastARef(nameSym);
  // if not found, try dispatching to pick up default hash value
  // MRI: spliced together bits from rb_hash_default_value
  if (object == null) {
    object = rubyHash.getIfNone();
    if (object == RubyBasicObject.UNDEF) {
      RubyString nameStr = RubyString.newString(runtime, name);
      raiseKeyError("key" + startDelim + nameStr + endDelim + " not found", rubyHash, nameSym);
    } else if (rubyHash.hasDefaultProc()) {
      object = object.callMethod(runtime.getCurrentContext(), "call", nameSym);
    }
    if (object.isNil()) throw runtime.newKeyError("key" + startDelim + nameSym + endDelim + " not found", rubyHash, nameSym);
  }
  return object;
}

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

private IRubyObject getHashValue(ByteList name, char startDelim, char endDelim) {
  // FIXME: get_hash does hash conversion of argv and arity check...this is a bit complicated with
  // our version.  Implement it.
  if (rubyHash == null) {
    raiseArgumentError("one hash required");
  }
  checkNameArg(name, startDelim, endDelim);
  RubySymbol nameSym = runtime.newSymbol(name);
  IRubyObject object = rubyHash.fastARef(nameSym);
  // if not found, try dispatching to pick up default hash value
  // MRI: spliced together bits from rb_hash_default_value
  if (object == null) {
    object = rubyHash.getIfNone();
    if (object == RubyBasicObject.UNDEF) {
      RubyString nameStr = RubyString.newString(runtime, name);
      raiseKeyError("key" + startDelim + nameStr + endDelim + " not found", rubyHash, nameSym);
    } else if (rubyHash.hasDefaultProc()) {
      object = object.callMethod(runtime.getCurrentContext(), "call", nameSym);
    }
    if (object.isNil()) throw runtime.newKeyError("key" + startDelim + nameSym + endDelim + " not found", rubyHash, nameSym);
  }
  return object;
}

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

} else if (hash.hasDefaultProc()) {
  throw hash.getRuntime().newTypeError("can't dump hash with default proc");
} else {

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

} else if (hash.hasDefaultProc()) {
  throw hash.getRuntime().newTypeError("can't dump hash with default proc");
} else {

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

}else if (hash.hasDefaultProc()) {
  throw hash.getRuntime().newTypeError("can't dump hash with default proc");
} else {

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

}else if (hash.hasDefaultProc()) {
  throw hash.getRuntime().newTypeError("can't dump hash with default proc");
} else {

相关文章

微信公众号

最新文章

更多

RubyHash类方法