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

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

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

RubyHash.keys介绍

[英]rb_hash_keys
[中]rb_散列键

代码示例

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

@Override
public RubyArray keys(ThreadContext context) {
  syncSize();
  return super.keys(context);
}

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

/**
 * Converts the set to an array.  The order of elements is uncertain.
 */
@JRubyMethod
public RubyArray to_a(final ThreadContext context) {
  // except MRI relies on Hash order so we do as well
  return this.hash.keys(context);
}

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

/**
 * Converts the set to an array.  The order of elements is uncertain.
 */
@JRubyMethod
public RubyArray to_a(final ThreadContext context) {
  // except MRI relies on Hash order so we do as well
  return this.hash.keys(context);
}

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

@Override
public RubyArray keys(ThreadContext context) {
  syncSize();
  return super.keys(context);
}

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

@JRubyMethod(name = { "symbols" })
public final IRubyObject symbols(ThreadContext context) {
  return kv_map.keys(context);
}

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

@JRubyMethod(name = { "symbols" })
public final IRubyObject symbols(ThreadContext context) {
  return kv_map.keys(context);
}

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

@JRubyMethod(name = { "symbols" })
public final IRubyObject symbols(ThreadContext context) {
  return kv_map.keys();
}

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

@JRubyMethod(name = { "symbols" })
public final IRubyObject symbols(ThreadContext context) {
  return kv_map.keys();
}

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

@Override
void unmarshal() {
  super.unmarshal();
  IRubyObject[] elems = hash.keys().toJavaArrayMaybeUnsafe();
  for ( int i=0; i<elems.length; i++ ) order.add( elems[i] );
}

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

@Override
void unmarshal() {
  super.unmarshal();
  IRubyObject[] elems = hash.keys().toJavaArrayMaybeUnsafe();
  for ( int i=0; i<elems.length; i++ ) order.add( elems[i] );
}

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

public final RubyArray keys() {
  return keys(getRuntime().getCurrentContext());
}

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

public final RubyArray keys() {
  return keys(getRuntime().getCurrentContext());
}

代码示例来源: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 RubyString getCorrectKey(final RubyString key) {
  RubyString actualKey = key;
  if (Platform.IS_WINDOWS) {
    // this is a rather ugly hack, but similar to MRI. See hash.c:ruby_setenv and similar in MRI
    // we search all keys for a case-insensitive match, and use that
    final ThreadContext context = getRuntime().getCurrentContext();
    final RubyArray keys = super.keys(context);
    for (int i = 0; i < keys.size(); i++) {
      RubyString candidateKey = keys.eltInternal(i).convertToString();
      if (equalIgnoreCase(context, candidateKey, key)) {
        actualKey = candidateKey;
        break;
      }
    }
  }
  return actualKey;
}

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

private RubyString getCorrectKey(final RubyString key) {
  RubyString actualKey = key;
  if (Platform.IS_WINDOWS) {
    // this is a rather ugly hack, but similar to MRI. See hash.c:ruby_setenv and similar in MRI
    // we search all keys for a case-insensitive match, and use that
    final ThreadContext context = getRuntime().getCurrentContext();
    final RubyArray keys = super.keys(context);
    for (int i = 0; i < keys.size(); i++) {
      RubyString candidateKey = keys.eltInternal(i).convertToString();
      if (equalIgnoreCase(context, candidateKey, key)) {
        actualKey = candidateKey;
        break;
      }
    }
  }
  return actualKey;
}

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

private RubyString getCorrectKey(IRubyObject key, ThreadContext context) {
  RubyString originalKey = key.convertToString();
  RubyString actualKey = originalKey;
  Ruby runtime = context.runtime;
  if (Platform.IS_WINDOWS) {
    // this is a rather ugly hack, but similar to MRI. See hash.c:ruby_setenv and similar in MRI
    // we search all keys for a case-insensitive match, and use that
    RubyArray keys = super.keys();
    for (int i = 0; i < keys.size(); i++) {
      RubyString candidateKey = keys.eltInternal(i).convertToString();
      if (candidateKey.casecmp(context, originalKey).op_equal(context, RubyFixnum.zero(runtime)).isTrue()) {
        actualKey = candidateKey;
        break;
      }
    }
  }
  return actualKey;
}

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

private RubyString getCorrectKey(IRubyObject key, ThreadContext context) {
  RubyString originalKey = key.convertToString();
  RubyString actualKey = originalKey;
  Ruby runtime = context.runtime;
  if (Platform.IS_WINDOWS) {
    // this is a rather ugly hack, but similar to MRI. See hash.c:ruby_setenv and similar in MRI
    // we search all keys for a case-insensitive match, and use that
    RubyArray keys = super.keys();
    for (int i = 0; i < keys.size(); i++) {
      RubyString candidateKey = keys.eltInternal(i).convertToString();
      if (candidateKey.casecmp(context, originalKey).op_equal(context, RubyFixnum.zero(runtime)).isTrue()) {
        actualKey = candidateKey;
        break;
      }
    }
  }
  return actualKey;
}

相关文章

微信公众号

最新文章

更多

RubyHash类方法