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

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

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

Ruby.getEnumerator介绍

暂无

代码示例

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

protected static IRubyObject newEnumerator(ThreadContext context, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3) {
  Ruby runtime = context.runtime;
  return new RubyEnumerator(runtime, runtime.getEnumerator(), arg1, arg2, new IRubyObject[]{arg3});
}

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

protected static IRubyObject newEnumerator(ThreadContext context, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3) {
  Ruby runtime = context.runtime;
  return new RubyEnumerator(runtime, runtime.getEnumerator(), arg1, arg2, new IRubyObject[]{arg3});
}

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

protected static IRubyObject newEnumerator(ThreadContext context, IRubyObject arg1, IRubyObject arg2) {
  Ruby runtime = context.runtime;
  return new RubyEnumerator(runtime, runtime.getEnumerator(), arg1, arg2, IRubyObject.NULL_ARRAY);
}

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

protected static IRubyObject newEnumerator(ThreadContext context, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3) {
  return Helpers.invoke(context, context.runtime.getEnumerator(), "new", arg1, arg2, arg3);
}

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

@JRubyMethod(name = {"to_enum", "enum_for"}, optional = 1, rest = true)
public static IRubyObject obj_to_enum(ThreadContext context, IRubyObject self, IRubyObject[] args) {
  IRubyObject[] newArgs = new IRubyObject[args.length + 1];
  newArgs[0] = self;
  System.arraycopy(args, 0, newArgs, 1, args.length);
  return context.runtime.getEnumerator().callMethod(context, "new", newArgs);
}

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

@JRubyMethod(name = {"to_enum", "enum_for"}, optional = 1, rest = true)
public static IRubyObject obj_to_enum(ThreadContext context, IRubyObject self, IRubyObject[] args) {
  IRubyObject[] newArgs = new IRubyObject[args.length + 1];
  newArgs[0] = self;
  System.arraycopy(args, 0, newArgs, 1, args.length);
  return context.runtime.getEnumerator().callMethod(context, "new", newArgs);
}

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

protected static IRubyObject newEnumerator(ThreadContext context, IRubyObject arg) {
  Ruby runtime = context.runtime;
  return new RubyEnumerator(runtime, runtime.getEnumerator(), arg, runtime.newSymbol("each"), IRubyObject.NULL_ARRAY);
}

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

/**
 * Transform object into an Enumerator with the given size
 */
public static IRubyObject enumeratorizeWithSize(ThreadContext context, final IRubyObject object, String method, IRubyObject[] args, SizeFn sizeFn) {
  Ruby runtime = context.runtime;
  return new RubyEnumerator(runtime, runtime.getEnumerator(), object, runtime.fastNewSymbol(method), args, sizeFn);
}

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

/**
 * Transform object into an Enumerator with the given size
 */
public static IRubyObject enumeratorizeWithSize(ThreadContext context, final IRubyObject object, String method, IRubyObject[] args, SizeFn sizeFn) {
  Ruby runtime = context.runtime;
  return new RubyEnumerator(runtime, runtime.getEnumerator(), object, runtime.fastNewSymbol(method), args, sizeFn);
}

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

public static IRubyObject enumeratorizeWithSize(ThreadContext context, IRubyObject object, String method,IRubyObject arg, IRubyObject size) {
  Ruby runtime = context.runtime;
  return new RubyEnumerator(runtime, runtime.getEnumerator(), object, runtime.fastNewSymbol(method), new IRubyObject[] { arg }, size);
}

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

public static IRubyObject enumeratorize(Ruby runtime, IRubyObject object, String method, IRubyObject arg) {
  return new RubyEnumerator(runtime, runtime.getEnumerator(), object, runtime.fastNewSymbol(method), new IRubyObject[] {arg});
}

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

protected static IRubyObject newEnumerator(ThreadContext context, IRubyObject arg) {
  Ruby runtime = context.runtime;
  return new RubyEnumerator(runtime, runtime.getEnumerator(), arg, runtime.newSymbol("each"), IRubyObject.NULL_ARRAY);
}

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

public static IRubyObject enumeratorize(Ruby runtime, IRubyObject object, String method, IRubyObject arg) {
  return new RubyEnumerator(runtime, runtime.getEnumerator(), object, runtime.fastNewSymbol(method), new IRubyObject[] {arg});
}

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

public static RubyClass createYielderClass(Ruby runtime) {
  RubyClass yielderc = runtime.defineClassUnder("Yielder", runtime.getObject(), YIELDER_ALLOCATOR, runtime.getEnumerator());
  runtime.setYielder(yielderc);
  yielderc.index = ClassIndex.YIELDER;
  yielderc.kindOf = new RubyModule.JavaClassKindOf(RubyYielder.class);
  yielderc.defineAnnotatedMethods(RubyYielder.class);
  return yielderc;
}

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

public static RubyClass createYielderClass(Ruby runtime) {
  RubyClass yielderc = runtime.defineClassUnder("Yielder", runtime.getObject(), YIELDER_ALLOCATOR, runtime.getEnumerator());
  runtime.setYielder(yielderc);
  yielderc.index = ClassIndex.YIELDER;
  yielderc.kindOf = new RubyModule.JavaClassKindOf(RubyYielder.class);
  yielderc.defineAnnotatedMethods(RubyYielder.class);
  return yielderc;
}

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

@JRubyMethod
public IRubyObject each(ThreadContext context, Block block) {
  final Ruby runtime = context.runtime;
  if ( ! block.isGiven() ) { // ... Enumerator.new(self, :each)
    return runtime.getEnumerator().callMethod("new", this, runtime.newSymbol("each"));
  }
  final Object array = getObject();
  final int length = Array.getLength(array);
  for ( int i = 0; i < length; i++ ) {
    IRubyObject element = ArrayUtils.arefDirect(runtime, array, converter, i);
    block.yield(context, element);
  }
  return this;
}

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

public static RubyClass createYielderClass(Ruby runtime) {
  RubyClass yielderc = runtime.defineClassUnder("Yielder", runtime.getObject(), YIELDER_ALLOCATOR, runtime.getEnumerator());
  runtime.setYielder(yielderc);
  yielderc.setClassIndex(ClassIndex.YIELDER);
  yielderc.kindOf = new RubyModule.JavaClassKindOf(RubyYielder.class);
  yielderc.defineAnnotatedMethods(RubyYielder.class);
  return yielderc;
}

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

public static void createGeneratorClass(Ruby runtime) {
  RubyClass genc = runtime.defineClassUnder("Generator", runtime.getObject(), new ObjectAllocator() {
    @Override
    public IRubyObject allocate(Ruby runtime, RubyClass klazz) {
      return new RubyGenerator(runtime, klazz);
    }
  }, runtime.getEnumerator());
  genc.includeModule(runtime.getEnumerable());
  genc.defineAnnotatedMethods(RubyGenerator.class);
  runtime.setGenerator(genc);
}

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

public static RubyClass createYielderClass(Ruby runtime) {
  RubyClass yielderc = runtime.defineClassUnder("Yielder", runtime.getObject(), YIELDER_ALLOCATOR, runtime.getEnumerator());
  runtime.setYielder(yielderc);
  yielderc.setClassIndex(ClassIndex.YIELDER);
  yielderc.kindOf = new RubyModule.JavaClassKindOf(RubyYielder.class);
  yielderc.defineAnnotatedMethods(RubyYielder.class);
  return yielderc;
}

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

public static void createGeneratorClass(Ruby runtime) {
  RubyClass genc = runtime.defineClassUnder("Generator", runtime.getObject(), new ObjectAllocator() {
    @Override
    public IRubyObject allocate(Ruby runtime, RubyClass klazz) {
      return new RubyGenerator(runtime, klazz);
    }
  }, runtime.getEnumerator());
  genc.includeModule(runtime.getEnumerable());
  genc.defineAnnotatedMethods(RubyGenerator.class);
  runtime.setGenerator(genc);
}

相关文章

微信公众号

最新文章

更多

Ruby类方法