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

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

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

RubyHash.empty_p介绍

[英]rb_hash_empty_p
[中]rb_hash_empty_p

代码示例

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

/** rb_hash_update
 *
 */
@JRubyMethod(name = {"merge!", "update"}, required = 1)
public RubyHash merge_bang(ThreadContext context, IRubyObject other, Block block) {
  modify();
  final RubyHash otherHash = other.convertToHash();
  if (otherHash.empty_p().isTrue()) return this;
  otherHash.visitAll(context, new MergeVisitor(this), block);
  return this;
}

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

/** rb_hash_update
 *
 */
@JRubyMethod(name = {"merge!", "update"}, required = 1)
public RubyHash merge_bang(ThreadContext context, IRubyObject other, Block block) {
  modify();
  final RubyHash otherHash = other.convertToHash();
  if (otherHash.empty_p().isTrue()) return this;
  otherHash.visitAll(context, new MergeVisitor(this), block);
  return this;
}

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

/** rb_hash_update
 *
 */
@JRubyMethod(name = {"merge!", "update"}, required = 1, compat = RUBY1_9)
public RubyHash merge_bang19(final ThreadContext context, final IRubyObject other, final Block block) {
  modify();
  final RubyHash otherHash = other.convertToHash();
  
  if (otherHash.empty_p().isTrue()) {
    return this;
  }
  final Ruby runtime = getRuntime();
  final RubyHash self = this;
  otherHash.visitAll(new Visitor() {
    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);
    }
  });
  return this;
}

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

/** rb_hash_update
 *
 */
@JRubyMethod(name = {"merge!", "update"}, required = 1, compat = RUBY1_9)
public RubyHash merge_bang19(final ThreadContext context, final IRubyObject other, final Block block) {
  modify();
  final RubyHash otherHash = other.convertToHash();
  
  if (otherHash.empty_p().isTrue()) {
    return this;
  }
  final Ruby runtime = getRuntime();
  final RubyHash self = this;
  otherHash.visitAll(new Visitor() {
    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);
    }
  });
  return this;
}

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

/** rb_hash_update
 *
 */
@JRubyMethod(name = {"merge!", "update"}, required = 1, compat = RUBY1_8)
public RubyHash merge_bang(final ThreadContext context, final IRubyObject other, final Block block) {
  final RubyHash otherHash = other.convertToHash();
  if (otherHash.empty_p().isTrue()) {
    return this;
  }
  modify();
  final Ruby runtime = getRuntime();
  final RubyHash self = this;
  otherHash.visitAll(new Visitor() {
    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);
    }
  });
  return this;
}

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

/** rb_hash_update
 *
 */
@JRubyMethod(name = {"merge!", "update"}, required = 1, compat = RUBY1_8)
public RubyHash merge_bang(final ThreadContext context, final IRubyObject other, final Block block) {
  final RubyHash otherHash = other.convertToHash();
  if (otherHash.empty_p().isTrue()) {
    return this;
  }
  modify();
  final Ruby runtime = getRuntime();
  final RubyHash self = this;
  otherHash.visitAll(new Visitor() {
    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);
    }
  });
  return this;
}

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

@JIT @Interp
public static IRubyObject mergeKeywordArguments(ThreadContext context, IRubyObject restKwarg, IRubyObject explicitKwarg) {
  RubyHash hash = (RubyHash) TypeConverter.checkHashType(context.runtime, restKwarg).dup();
  hash.modify();
  final RubyHash otherHash = explicitKwarg.convertToHash();
  if (otherHash.empty_p().isTrue()) return hash;
  otherHash.visitAll(context, new KwargMergeVisitor(hash), Block.NULL_BLOCK);
  return hash;
}

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

@JIT @Interp
public static IRubyObject mergeKeywordArguments(ThreadContext context, IRubyObject restKwarg, IRubyObject explicitKwarg) {
  RubyHash hash = (RubyHash) TypeConverter.checkHashType(context.runtime, restKwarg).dup();
  hash.modify();
  final RubyHash otherHash = explicitKwarg.convertToHash();
  if (otherHash.empty_p().isTrue()) return hash;
  otherHash.visitAll(context, new KwargMergeVisitor(hash), Block.NULL_BLOCK);
  return hash;
}

相关文章

微信公众号

最新文章

更多

RubyHash类方法