本文整理了Java中org.jruby.Ruby.newFixnum
方法的一些代码示例,展示了Ruby.newFixnum
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Ruby.newFixnum
方法的具体详情如下:
包路径:org.jruby.Ruby
类名称:Ruby
方法名:newFixnum
暂无
代码示例来源:origin: bazelbuild/bazel
@JRubyMethod
public IRubyObject length(ThreadContext context) {
return context.runtime.newFixnum(this.table.size());
}
代码示例来源:origin: bazelbuild/bazel
@JRubyMethod
public IRubyObject each(ThreadContext context, Block block) {
Ruby runtime = context.runtime;
for (Descriptors.EnumValueDescriptor enumValueDescriptor : descriptor.getValues()) {
block.yield(context, runtime.newArray(runtime.newSymbol(enumValueDescriptor.getName()),
runtime.newFixnum(enumValueDescriptor.getNumber())));
}
return runtime.getNil();
}
代码示例来源:origin: bazelbuild/bazel
switch (fieldType) {
case INT32:
return runtime.newFixnum((Integer) value);
case INT64:
return runtime.newFixnum((Long) value);
case UINT32:
return runtime.newFixnum(((Integer) value) & (-1l >>> 32));
case UINT64:
long ret = (Long) value;
return ret >= 0 ? runtime.newFixnum(ret) :
RubyBignum.newBignum(runtime, UINT64_COMPLEMENTARY.add(new BigInteger(ret + "")));
case FLOAT:
return runtime.getNil();
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
@JRubyMethod(required = 1)
public IRubyObject lchmod(ThreadContext context, IRubyObject arg) {
int mode = (int) arg.convertToInteger().getLongValue();
if (!new File(path).exists()) {
throw context.runtime.newErrnoENOENTError(path);
}
return context.runtime.newFixnum(context.runtime.getPosix().lchmod(path, mode));
}
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
public IRubyObject call(ThreadContext context, IRubyObject[] args, Block block) {
int[] status = new int[1];
Ruby runtime = context.runtime;
int result = checkErrno(runtime, runtime.getPosix().waitpid(pid, status, 0));
return runtime.newFixnum(result);
}
};
代码示例来源:origin: bazelbuild/bazel
@JRubyMethod(meta = true)
public static IRubyObject resolve(ThreadContext context, IRubyObject recv, IRubyObject name) {
RubyEnumDescriptor rubyEnumDescriptorescriptor = (RubyEnumDescriptor) getDescriptor(context, recv);
Descriptors.EnumDescriptor descriptor = rubyEnumDescriptorescriptor.getDescriptor();
Descriptors.EnumValueDescriptor value = descriptor.findValueByName(name.asJavaString());
if (value == null) return context.runtime.getNil();
return context.runtime.newFixnum(value.getNumber());
}
代码示例来源:origin: bazelbuild/bazel
@JRubyMethod
public IRubyObject hash(ThreadContext context) {
int hashCode = this.storage.hashCode();
return context.runtime.newFixnum(hashCode);
}
代码示例来源:origin: bazelbuild/bazel
private IRubyObject wrapField(ThreadContext context, Descriptors.FieldDescriptor fieldDescriptor, Object value) {
if (value == null) {
return context.runtime.getNil();
}
Ruby runtime = context.runtime;
switch (fieldDescriptor.getType()) {
case INT32:
case INT64:
case UINT32:
case UINT64:
case FLOAT:
case DOUBLE:
case BOOL:
case BYTES:
case STRING:
return Utils.wrapPrimaryValue(context, fieldDescriptor.getType(), value);
case MESSAGE:
RubyClass typeClass = (RubyClass) ((RubyDescriptor) getDescriptorForField(context, fieldDescriptor)).msgclass(context);
RubyMessage msg = (RubyMessage) typeClass.newInstance(context, Block.NULL_BLOCK);
return msg.buildFrom(context, (DynamicMessage) value);
case ENUM:
Descriptors.EnumValueDescriptor enumValueDescriptor = (Descriptors.EnumValueDescriptor) value;
if (enumValueDescriptor.getIndex() == -1) { // UNKNOWN ENUM VALUE
return runtime.newFixnum(enumValueDescriptor.getNumber());
}
return runtime.newSymbol(enumValueDescriptor.getName());
default:
return runtime.newString(value.toString());
}
}
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
@JRubyMethod(required = 1)
public IRubyObject chmod(ThreadContext context, IRubyObject arg) {
checkClosed(context);
int mode = (int) arg.convertToInteger().getLongValue();
if (!new File(path).exists()) {
throw context.runtime.newErrnoENOENTError(path);
}
return context.runtime.newFixnum(context.runtime.getPosix().chmod(path, mode));
}
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
public IRubyObject call(ThreadContext context, IRubyObject[] args, Block block) {
int[] status = new int[1];
Ruby runtime = context.runtime;
int result = checkErrno(runtime, runtime.getPosix().waitpid(pid, status, 0));
return runtime.newFixnum(result);
}
};
代码示例来源:origin: bazelbuild/bazel
@JRubyMethod(required = 4, optional = 1)
public IRubyObject map(ThreadContext context, IRubyObject[] args) {
Ruby runtime = context.runtime;
IRubyObject valueType = args[2];
IRubyObject number = args[3];
IRubyObject typeClass = args.length > 4 ? args[4] : context.runtime.getNil();
keyField.setName(context, runtime.newString("key"));
keyField.setLabel(context, RubySymbol.newSymbol(runtime, "optional"));
keyField.setNumber(context, runtime.newFixnum(1));
keyField.setType(context, keyType);
mapentryDesc.addField(context, keyField);
valueField.setName(context, runtime.newString("value"));
valueField.setLabel(context, RubySymbol.newSymbol(runtime, "optional"));
valueField.setNumber(context, runtime.newFixnum(2));
valueField.setType(context, valueType);
if (! typeClass.isNil()) valueField.setSubmsgName(context, typeClass);
return runtime.getNil();
代码示例来源:origin: bazelbuild/bazel
@JRubyMethod(name = {"length", "size"})
public IRubyObject length(ThreadContext context) {
return context.runtime.newFixnum(this.storage.size());
}
代码示例来源:origin: bazelbuild/bazel
break;
case ENUM:
IRubyObject defaultEnumLoc = context.runtime.newFixnum(0);
return RubyEnum.lookup(context, typeClass, defaultEnumLoc);
default:
return context.runtime.getNil();
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
@JRubyMethod(required = 1)
public IRubyObject chmod(ThreadContext context, IRubyObject arg) {
checkClosed(context);
int mode = (int) arg.convertToInteger().getLongValue();
if (!new File(path).exists()) {
throw context.runtime.newErrnoENOENTError(path);
}
return context.runtime.newFixnum(context.runtime.getPosix().chmod(path, mode));
}
代码示例来源:origin: org.jruby/jruby-complete
public static IRubyObject getrlimit(Ruby runtime, IRubyObject arg) {
if (!runtime.getPosix().isNative() || Platform.IS_WINDOWS) {
runtime.getWarnings().warn("Process#getrlimit not supported on this platform");
return runtime.newFixnum(Long.MAX_VALUE);
}
RLimit rlimit = runtime.getPosix().getrlimit(rlimitResourceType(runtime, arg));
return runtime.newArray(runtime.newFixnum(rlimit.rlimCur()), runtime.newFixnum(rlimit.rlimMax()));
}
代码示例来源:origin: org.jruby/jruby-complete
@JRubyMethod
public IRubyObject rewind(ThreadContext context) {
Ruby runtime = context.runtime;
// should invoke seek on realIo...
realIo.callMethod(context, "seek",
new IRubyObject[]{runtime.newFixnum(-internalPosition()), runtime.newFixnum(PosixShim.SEEK_CUR)});
// ... and then reinitialize
initialize(context, realIo);
return getRuntime().getNil();
}
代码示例来源:origin: bazelbuild/bazel
@JRubyMethod
public IRubyObject hash(ThreadContext context) {
try {
MessageDigest digest = MessageDigest.getInstance("SHA-256");
for (IRubyObject key : table.keySet()) {
digest.update((byte) key.hashCode());
digest.update((byte) table.get(key).hashCode());
}
return context.runtime.newString(new ByteList(digest.digest()));
} catch (NoSuchAlgorithmException ignore) {
return context.runtime.newFixnum(System.identityHashCode(table));
}
}
代码示例来源:origin: org.jruby/jruby-complete
/** rb_ary_index
*
*/
public IRubyObject index(ThreadContext context, IRubyObject obj) {
Ruby runtime = context.runtime;
for (int i = 0; i < realLength; i++) {
if (equalInternal(context, eltOk(i), obj)) return runtime.newFixnum(i);
}
return runtime.getNil();
}
代码示例来源:origin: org.jruby/jruby-complete
@JRubyMethod(required = 1)
public IRubyObject chmod(ThreadContext context, IRubyObject arg) {
checkClosed(context);
int mode = (int) arg.convertToInteger().getLongValue();
final String path = getPath();
if ( ! new File(path).exists() ) {
throw context.runtime.newErrnoENOENTError(path);
}
return context.runtime.newFixnum(context.runtime.getPosix().chmod(path, mode));
}
代码示例来源:origin: org.jruby/jruby-complete
public static IRubyObject egid(Ruby runtime) {
if (Platform.IS_WINDOWS) {
// MRI behavior on Windows
return RubyFixnum.zero(runtime);
}
return runtime.newFixnum(checkErrno(runtime, runtime.getPosix().getegid()));
}
内容来源于网络,如有侵权,请联系作者删除!