当前位置: 首页>>代码示例>>Java>>正文


Java RubyNumeric类代码示例

本文整理汇总了Java中org.jruby.RubyNumeric的典型用法代码示例。如果您正苦于以下问题:Java RubyNumeric类的具体用法?Java RubyNumeric怎么用?Java RubyNumeric使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


RubyNumeric类属于org.jruby包,在下文中一共展示了RubyNumeric类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: valueIsTruthy

import org.jruby.RubyNumeric; //导入依赖的package包/类
public boolean valueIsTruthy(Object value) {
    if(value instanceof IRubyObject) {
        IRubyObject o = (IRubyObject)value;
        if(o == null) {
            return false;
        } else if(o instanceof RubyString) {
            return !(((RubyString)o).isEmpty());
        } else if(o instanceof RubyBoolean) {
            return (o instanceof RubyBoolean.True);
        } else if(o instanceof RubyArray) {
            return !(((RubyArray)o).isEmpty());
        } else if(value instanceof RubyNumeric) {
            return ((RubyNumeric)value).getDoubleValue() != 0.0;
        }
        return false;
    } else {
        return super.valueIsTruthy(value);
    }
}
 
开发者ID:haplo-org,项目名称:haplo-safe-view-templates,代码行数:20,代码来源:JRubyJSONDriver.java

示例2: set

import org.jruby.RubyNumeric; //导入依赖的package包/类
@JRubyMethod(name = "set", required=2)
public IRubyObject set(ThreadContext context, IRubyObject i, IRubyObject val) {
    int j = RubyNumeric.num2int(i);
    if (j >=0 && j < cnt) {
        if (j >= tailoff()) {
            RubyArray newTail = tail.aryDup();
            newTail.store(j & 0x01f, val);
            return new PersistentVector(context.runtime, getMetaClass()).initialize(context, cnt, shift, root, newTail);
        }
        return new PersistentVector(context.runtime, getMetaClass()).initialize(context, cnt, shift, doSet(context, shift, root, j, val), tail);
    }

    if (j == cnt)
        add(context, val);

    throw new IndexOutOfBoundsException();
}
 
开发者ID:Who828,项目名称:persistent_data_structures,代码行数:18,代码来源:PersistentVectorLibrary.java

示例3: handle

import org.jruby.RubyNumeric; //导入依赖的package包/类
private void handle(final RaiseException re) throws MojoExecutionException {
    final RubyException raisedException = re.getException();
    final Ruby runtime = raisedException.getRuntime();
    if (runtime.getSystemExit().isInstance(raisedException)) {
        final IRubyObject status = raisedException.callMethod(runtime.getCurrentContext(), "status");
        if (status != null && !status.isNil()) {
            handle(RubyNumeric.fix2int(status));
        } else {
            return;
        }
    } else {
        getLog().error(
                runtime.getInstanceConfig().getTraceType()
                        .printBacktrace(raisedException, runtime.getPosix().isatty(FileDescriptor.err)));
        handle(1);
    }
}
 
开发者ID:timezra,项目名称:jruby-maven-plugin,代码行数:18,代码来源:JRubyMojo.java

示例4: rubyCompare

import org.jruby.RubyNumeric; //导入依赖的package包/类
int rubyCompare(RubyObject l, RubyObject r) {
    ThreadContext context = l.getMetaClass().getRuntime().getCurrentContext();
    IRubyObject result;
    try {
        result = l.callMethod(context, "<=>", r);
    } catch (RaiseException e) {
        // handle objects "lying" about responding to <=>, ie: an Array containing non-comparable keys
        if (context.runtime.getNoMethodError().isInstance(e.getException())) {
            return 0;
        }
        throw e;
    }

    return result.isNil() ? 0 : RubyNumeric.num2int(result.convertToInteger());
}
 
开发者ID:ruby-concurrency,项目名称:thread_safe,代码行数:16,代码来源:ConcurrentHashMapV8.java

示例5: lookup

import org.jruby.RubyNumeric; //导入依赖的package包/类
@JRubyMethod(meta = true)
public static IRubyObject lookup(ThreadContext context, IRubyObject recv, IRubyObject number) {
    RubyEnumDescriptor rubyEnumDescriptorescriptor = (RubyEnumDescriptor) getDescriptor(context, recv);
    Descriptors.EnumDescriptor descriptor = rubyEnumDescriptorescriptor.getDescriptor();
    Descriptors.EnumValueDescriptor value = descriptor.findValueByNumber(RubyNumeric.num2int(number));
    if (value == null) return context.runtime.getNil();
    return context.runtime.newSymbol(value.getName());
}
 
开发者ID:bazelbuild,项目名称:bazel,代码行数:9,代码来源:RubyEnum.java

示例6: nth

import org.jruby.RubyNumeric; //导入依赖的package包/类
@JRubyMethod(name = "get", alias = "[]", required=1)
public IRubyObject nth(ThreadContext context, IRubyObject i) {
    int j = RubyNumeric.num2int(i);
    return get(context, j);
}
 
开发者ID:Who828,项目名称:persistent_data_structures,代码行数:6,代码来源:PersistentVectorLibrary.java


注:本文中的org.jruby.RubyNumeric类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。