Class: Integer

Inherits:
Numeric show all
Includes:
Precision
Defined in:
numeric.c,
numeric.c

Overview

Integer is the basis for the two concrete classes that hold whole numbers, Bignum and Fixnum.

Direct Known Subclasses

Bignum, Fixnum

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Precision

included, #prec, #prec_f, #prec_i

Methods inherited from Numeric

#+@, #-@, #<=>, #abs, #coerce, #div, #divmod, #eql?, #fdiv, #initialize_copy, #modulo, #nonzero?, #quo, #remainder, #singleton_method_added, #step, #zero?

Methods included from Comparable

#<, #<=, #==, #>, #>=, #between?

Class Method Details

.induced_from(obj) ⇒ Fixnum

Convert obj to an Integer.

Returns:



1948
1949
1950
# File 'numeric.c', line 1948

static VALUE
rb_int_induced_from(klass, x)
VALUE klass, x;

Instance Method Details

#to_iInteger #to_intInteger #floorInteger #ceilInteger #roundInteger #truncateInteger

As int is already an Integer, all these methods simply return the receiver.

Overloads:



1766
1767
1768
# File 'numeric.c', line 1766

static VALUE
int_to_i(num)
VALUE num;

#chrString

Returns a string containing the ASCII character represented by the receiver's value.

65.chr    #=> "A"
?a.chr    #=> "a"
230.chr   #=> "\346"

Returns:



1874
1875
1876
# File 'numeric.c', line 1874

static VALUE
int_chr(num)
VALUE num;

#downto(limit) {|i| ... } ⇒ Integer

Iterates block, passing decreasing values from int down to and including limit.

5.downto(1) { |n| print n, ".. " }
print "  Liftoff!\n"

produces:

5.. 4.. 3.. 2.. 1..   Liftoff!

Yields:

  • (i)

Returns:



2884
2885
2886
# File 'numeric.c', line 2884

static VALUE
int_downto(from, to)
VALUE from, to;

#even?Boolean

Returns true if int is an even number.

Returns:

  • (Boolean)


1810
1811
1812
1813
1814
1815
1816
1817
# File 'numeric.c', line 1810

static VALUE
int_even_p(VALUE num)
{
    if (rb_funcall(num, '%', 1, INT2FIX(2)) == INT2FIX(0)) {
        return Qtrue;
    }
    return Qfalse;
}

#to_iInteger #to_intInteger #floorInteger #ceilInteger #roundInteger #truncateInteger

As int is already an Integer, all these methods simply return the receiver.

Overloads:



1766
1767
1768
# File 'numeric.c', line 1766

static VALUE
int_to_i(num)
VALUE num;

#integer?true

Always returns true.

Returns:

  • (true)


1780
1781
1782
# File 'numeric.c', line 1780

static VALUE
int_int_p(num)
VALUE num;

#nextInteger #succInteger

Returns the Integer equal to int + 1.

1.next      #=> 2
(-1).next   #=> 0

Overloads:



1831
1832
1833
# File 'numeric.c', line 1831

static VALUE
int_succ(num)
VALUE num;

#odd?Boolean

Returns true if int is an odd number.

Returns:

  • (Boolean)


1794
1795
1796
1797
1798
1799
1800
1801
# File 'numeric.c', line 1794

static VALUE
int_odd_p(VALUE num)
{
    if (rb_funcall(num, '%', 1, INT2FIX(2)) != INT2FIX(0)) {
        return Qtrue;
    }
    return Qfalse;
}

#ordInteger

Returns the int itself.

?a.ord    #=> 97

This method is intended for compatibility to character constant in Ruby 1.9. For example, ?a.ord returns 97 both in 1.8 and 1.9.

Returns:



1900
1901
1902
# File 'numeric.c', line 1900

static VALUE
int_ord(num)
VALUE num;

#predInteger

Returns the Integer equal to int - 1.

1.pred      #=> 0
(-1).pred   #=> -2

Returns:



1852
1853
1854
1855
1856
1857
1858
1859
1860
# File 'numeric.c', line 1852

static VALUE
int_pred(VALUE num)
{
    if (FIXNUM_P(num)) {
        long i = FIX2LONG(num) - 1;
        return LONG2NUM(i);
    }
    return rb_funcall(num, '-', 1, INT2FIX(1));
}

#to_iInteger #to_intInteger #floorInteger #ceilInteger #roundInteger #truncateInteger

As int is already an Integer, all these methods simply return the receiver.

Overloads:



1766
1767
1768
# File 'numeric.c', line 1766

static VALUE
int_to_i(num)
VALUE num;

#nextInteger #succInteger

Returns the Integer equal to int + 1.

1.next      #=> 2
(-1).next   #=> 0

Overloads:



1831
1832
1833
# File 'numeric.c', line 1831

static VALUE
int_succ(num)
VALUE num;

#times {|i| ... } ⇒ Integer

Iterates block int times, passing in values from zero to int - 1.

5.times do |i|
 print i, " "
end

produces:

0 1 2 3 4

Yields:

  • (i)

Returns:



2926
2927
2928
# File 'numeric.c', line 2926

static VALUE
int_dotimes(num)
VALUE num;

#to_iInteger #to_intInteger #floorInteger #ceilInteger #roundInteger #truncateInteger

As int is already an Integer, all these methods simply return the receiver.

Overloads:



1766
1767
1768
# File 'numeric.c', line 1766

static VALUE
int_to_i(num)
VALUE num;

#to_iInteger #to_intInteger #floorInteger #ceilInteger #roundInteger #truncateInteger

As int is already an Integer, all these methods simply return the receiver.

Overloads:



1766
1767
1768
# File 'numeric.c', line 1766

static VALUE
int_to_i(num)
VALUE num;

#to_iInteger #to_intInteger #floorInteger #ceilInteger #roundInteger #truncateInteger

As int is already an Integer, all these methods simply return the receiver.

Overloads:



1766
1767
1768
# File 'numeric.c', line 1766

static VALUE
int_to_i(num)
VALUE num;

#upto(limit) {|i| ... } ⇒ Integer

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

5.upto(10) { |i| print i, " " }

produces:

5 6 7 8 9 10

Yields:

  • (i)

Returns:



2843
2844
2845
# File 'numeric.c', line 2843

static VALUE
int_upto(from, to)
VALUE from, to;