org.jruby.Ruby.getSymbol()方法的使用及代码示例

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

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

Ruby.getSymbol介绍

暂无

代码示例

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

public static ByteOrder parseByteOrder(Ruby runtime, IRubyObject byte_order) {
  if (byte_order instanceof RubySymbol || byte_order instanceof RubyString) {
    String orderName = byte_order.asJavaString();
    if ("network".equals(orderName) || "big".equals(orderName)) {
      return ByteOrder.BIG_ENDIAN;
    } else if ("little".equals(orderName)) {
      return ByteOrder.LITTLE_ENDIAN;
    
    } else {
      return ByteOrder.nativeOrder();
    }
  } else {
    throw runtime.newTypeError(byte_order, runtime.getSymbol());
  }
}

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

public static ByteOrder parseByteOrder(Ruby runtime, IRubyObject byte_order) {
  if (byte_order instanceof RubySymbol || byte_order instanceof RubyString) {
    String orderName = byte_order.asJavaString();
    if ("network".equals(orderName) || "big".equals(orderName)) {
      return ByteOrder.BIG_ENDIAN;
    } else if ("little".equals(orderName)) {
      return ByteOrder.LITTLE_ENDIAN;
    
    } else {
      return ByteOrder.nativeOrder();
    }
  } else {
    throw runtime.newTypeError(byte_order, runtime.getSymbol());
  }
}

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

public static ByteOrder parseByteOrder(Ruby runtime, IRubyObject byte_order) {
  if (byte_order instanceof RubySymbol || byte_order instanceof RubyString) {
    String orderName = byte_order.asJavaString();
    if ("network".equals(orderName) || "big".equals(orderName)) {
      return ByteOrder.BIG_ENDIAN;
    } else if ("little".equals(orderName)) {
      return ByteOrder.LITTLE_ENDIAN;
    
    } else {
      return ByteOrder.nativeOrder();
    }
  } else {
    throw runtime.newTypeError(byte_order, runtime.getSymbol());
  }
}

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

public static ByteOrder parseByteOrder(Ruby runtime, IRubyObject byte_order) {
  if (byte_order instanceof RubySymbol || byte_order instanceof RubyString) {
    String orderName = byte_order.asJavaString();
    if ("network".equals(orderName) || "big".equals(orderName)) {
      return ByteOrder.BIG_ENDIAN;
    } else if ("little".equals(orderName)) {
      return ByteOrder.LITTLE_ENDIAN;
    
    } else {
      return ByteOrder.nativeOrder();
    }
  } else {
    throw runtime.newTypeError(byte_order, runtime.getSymbol());
  }
}

代码示例来源: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-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

public static Boolean doReverseLookup(ThreadContext context, IRubyObject noreverse) {
  Ruby runtime = context.runtime;
  if (noreverse == runtime.getTrue()) {
    return false;
  } else if (noreverse == runtime.getFalse()) {
    return true;
  } else if (noreverse == context.nil) {
    return null;
  } else {
    TypeConverter.checkType(context, noreverse, runtime.getSymbol());
    switch (noreverse.toString()) {
      case "numeric": return true;
      case "hostname": return false;
      default: throw runtime.newArgumentError("invalid reverse_lookup flag: " + noreverse);
    }
  }
}

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

public static Boolean doReverseLookup(ThreadContext context, IRubyObject noreverse) {
  Ruby runtime = context.runtime;
  if (noreverse == runtime.getTrue()) {
    return false;
  } else if (noreverse == runtime.getFalse()) {
    return true;
  } else if (noreverse == context.nil) {
    return null;
  } else {
    TypeConverter.checkType(context, noreverse, runtime.getSymbol());
    switch (noreverse.toString()) {
      case "numeric": return true;
      case "hostname": return false;
      default: throw runtime.newArgumentError("invalid reverse_lookup flag: " + noreverse);
    }
  }
}

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

RubySymbol _event = (RubySymbol) TypeConverter.convertToType(context, _events[i], runtime.getSymbol(), sites(context).to_sym);

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

RubySymbol _event = (RubySymbol) TypeConverter.convertToType(context, _events[i], runtime.getSymbol(), sites(context).to_sym);

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

throw context.runtime.newTypeError(v, context.runtime.getSymbol());

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

throw context.runtime.newTypeError(v, context.runtime.getSymbol());

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

throw context.runtime.newTypeError(tag, context.runtime.getSymbol());
  throw context.runtime.newTypeError(v, context.runtime.getSymbol());

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

throw context.runtime.newTypeError(tag, context.runtime.getSymbol());
  throw context.runtime.newTypeError(v, context.runtime.getSymbol());

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

@JRubyMethod(module = true)
  public static IRubyObject coerce_to(ThreadContext context, IRubyObject self, IRubyObject object, IRubyObject clazz, IRubyObject method) {
    Ruby ruby = object.getRuntime();
    if (!(clazz instanceof RubyClass)) {
      throw ruby.newTypeError(clazz, ruby.getClassClass());
    }
    if (!(method instanceof RubySymbol)) {
      throw ruby.newTypeError(method, ruby.getSymbol());
    }
    RubyClass rubyClass = (RubyClass) clazz;
    RubySymbol methodSym = (RubySymbol) method;
    return TypeConverter.convertToTypeOrRaise(object, rubyClass, methodSym.asJavaString());
  }
}

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

@JRubyMethod(module = true)
  public static IRubyObject coerce_to(ThreadContext context, IRubyObject self, IRubyObject object, IRubyObject clazz, IRubyObject method) {
    Ruby ruby = object.getRuntime();
    if (!(clazz instanceof RubyClass)) {
      throw ruby.newTypeError(clazz, ruby.getClassClass());
    }
    if (!(method instanceof RubySymbol)) {
      throw ruby.newTypeError(method, ruby.getSymbol());
    }
    RubyClass rubyClass = (RubyClass) clazz;
    RubySymbol methodSym = (RubySymbol) method;
    return TypeConverter.convertToTypeOrRaise(object, rubyClass, methodSym.asJavaString());
  }
}

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

/**
 *
 * @param runtime
 * @param internedSymbol the String value of the new Symbol. This <em>must</em>
 *                       have been previously interned
 */
private RubySymbol(Ruby runtime, String internedSymbol, ByteList symbolBytes) {
  super(runtime, runtime.getSymbol(), false);
  // symbol string *must* be interned
  //        assert internedSymbol == internedSymbol.intern() : internedSymbol + " is not interned";
  this.symbol = internedSymbol;
  if (codeRangeScan(symbolBytes.getEncoding(), symbolBytes) == CR_7BIT) {
    symbolBytes = symbolBytes.dup();
    symbolBytes.setEncoding(USASCIIEncoding.INSTANCE);
  }
  this.symbolBytes = symbolBytes;
  this.id = runtime.allocSymbolId();
  long k0 = Helpers.hashStart(runtime, id);
  long hash = runtime.isSiphashEnabled() ? SipHashInline.hash24(
      k0, 0, symbolBytes.getUnsafeBytes(),
      symbolBytes.getBegin(), symbolBytes.getRealSize()) :
      PerlHash.hash(k0, symbolBytes.getUnsafeBytes(),
      symbolBytes.getBegin(), symbolBytes.getRealSize());
  this.hashCode = (int) hash;
  setFrozen(true);
}

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

/**
 *
 * @param runtime
 * @param internedSymbol the String value of the new Symbol. This <em>must</em>
 *                       have been previously interned
 */
private RubySymbol(Ruby runtime, String internedSymbol, ByteList symbolBytes) {
  super(runtime, runtime.getSymbol(), false);
  // symbol string *must* be interned
  //        assert internedSymbol == internedSymbol.intern() : internedSymbol + " is not interned";
  this.symbol = internedSymbol;
  if (codeRangeScan(symbolBytes.getEncoding(), symbolBytes) == CR_7BIT) {
    symbolBytes = symbolBytes.dup();
    symbolBytes.setEncoding(USASCIIEncoding.INSTANCE);
  }
  this.symbolBytes = symbolBytes;
  this.id = runtime.allocSymbolId();
  long k0 = Helpers.hashStart(runtime, id);
  long hash = runtime.isSiphashEnabled() ? SipHashInline.hash24(
      k0, 0, symbolBytes.getUnsafeBytes(),
      symbolBytes.getBegin(), symbolBytes.getRealSize()) :
      PerlHash.hash(k0, symbolBytes.getUnsafeBytes(),
      symbolBytes.getBegin(), symbolBytes.getRealSize());
  this.hashCode = (int) hash;
  setFrozen(true);
}

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

/**
 * 
 * @param runtime
 * @param internedSymbol the String value of the new Symbol. This <em>must</em>
 *                       have been previously interned
 */
private RubySymbol(Ruby runtime, String internedSymbol, ByteList symbolBytes) {
  super(runtime, runtime.getSymbol(), false);
  // symbol string *must* be interned
  //        assert internedSymbol == internedSymbol.intern() : internedSymbol + " is not interned";
  if (!runtime.is1_9()) {
    int length = symbolBytes.getBegin() + symbolBytes.getRealSize();
    for (int i = symbolBytes.getBegin(); i < length; i++) {
      if (symbolBytes.getUnsafeBytes()[i] == 0) {
        throw runtime.newSyntaxError("symbol cannot contain '\\0'");
      }
    }
  }
  this.symbol = internedSymbol;
  this.symbolBytes = symbolBytes;
  this.id = runtime.allocSymbolId();
  long hash = runtime.isSiphashEnabled() ? SipHashInline.hash24(
      symbolHashSeedK0, 0, symbolBytes.getUnsafeBytes(),
      symbolBytes.getBegin(), symbolBytes.getRealSize()) :
      PerlHash.hash(symbolHashSeedK0, symbolBytes.getUnsafeBytes(),
      symbolBytes.getBegin(), symbolBytes.getRealSize());
  this.hashCode = (int) hash;
}

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

/**
 * 
 * @param runtime
 * @param internedSymbol the String value of the new Symbol. This <em>must</em>
 *                       have been previously interned
 */
private RubySymbol(Ruby runtime, String internedSymbol, ByteList symbolBytes) {
  super(runtime, runtime.getSymbol(), false);
  // symbol string *must* be interned
  //        assert internedSymbol == internedSymbol.intern() : internedSymbol + " is not interned";
  if (!runtime.is1_9()) {
    int length = symbolBytes.getBegin() + symbolBytes.getRealSize();
    for (int i = symbolBytes.getBegin(); i < length; i++) {
      if (symbolBytes.getUnsafeBytes()[i] == 0) {
        throw runtime.newSyntaxError("symbol cannot contain '\\0'");
      }
    }
  }
  this.symbol = internedSymbol;
  this.symbolBytes = symbolBytes;
  this.id = runtime.allocSymbolId();
  long hash = runtime.isSiphashEnabled() ? SipHashInline.hash24(
      symbolHashSeedK0, 0, symbolBytes.getUnsafeBytes(),
      symbolBytes.getBegin(), symbolBytes.getRealSize()) :
      PerlHash.hash(symbolHashSeedK0, symbolBytes.getUnsafeBytes(),
      symbolBytes.getBegin(), symbolBytes.getRealSize());
  this.hashCode = (int) hash;
}

相关文章

微信公众号

最新文章

更多

Ruby类方法