APIdock / Ruby
/
method

upto

ruby latest stable - Class: Integer
upto(p1)
public

Iterates the given block, passing in integer values from int up to and including limit.

If no block is given, an Enumerator is returned instead.

5.upto (10) {|i| print i, "" } #=> 5 6 7 8 9 10
static VALUE
int_upto(VALUE from, VALUE to)
{
 RETURN_SIZED_ENUMERATOR(from, 1, &to, int_upto_size);
 if (FIXNUM_P(from) && FIXNUM_P(to)) {
 long i, end;
 end = FIX2LONG(to);
 for (i = FIX2LONG(from); i <= end; i++) {
 rb_yield(LONG2FIX(i));
 }
 }
 else {
 VALUE i = from, c;
 while (!(c = rb_funcall(i, '>', 1, to))) {
 rb_yield(i);
 i = rb_funcall(i, '+', 1, INT2FIX(1));
 }
 if (NIL_P(c)) rb_cmperr(i, to);
 }
 return from;
}

AltStyle によって変換されたページ (->オリジナル) /