Programming Ruby

The Pragmatic Programmer's Guide

Previous < Contents ^
Next >

class Integer
Parent: Numeric
Version: 1.6

Index:

chr downto integer? next step succ times upto



Subclasses: Bignum, Fixnum

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

instance methods
chr int.chr -> aString

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

65.chr » "A"
?a.chr » "a"
230.chr » "\346"

downto int.downto( anInteger ) {| i | block }

-> int

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

5.downto(1) { |n| print n, ".. " }
print "  Liftoff!\n"
produces:
5.. 4.. 3.. 2.. 1..   Liftoff!

integer? int.integer? -> true

Always returns true.

next int.next -> anInteger

Returns the Integer equal to int + 1.

1.next » 2
(-1).next » 0

step int.step( endNum, step ) {| i | block }

-> int

Invokes block with the sequence of numbers starting at int, incremented by step on each call. The loop finishes when the value to be passed to the block is greater than endNum (if step is positive) or less than endNum (if step is negative).

1.step(10, 2) { |i| print i, " " }
produces:
1 3 5 7 9

succ int.succ -> anInteger

Synonym for Integer#next .

times int.times {| i | block }

-> int

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

5.times do |i|
  print i, " "
end
print "\n"
produces:
0 1 2 3 4

upto int.upto( anInteger ) {| i | block }

-> int

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

5.upto(10) { |i| print i, " " }
produces:
5 6 7 8 9 10


Previous < Contents ^
Next >

Extracted from the book "Programming Ruby - The Pragmatic Programmer's Guide"
Copyright © 2001 by Addison Wesley Longman, Inc. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at http://www.opencontent.org/openpub/)).

Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder.

Distribution of the work or derivative of the work in any standard (paper) book form is prohibited unless prior permission is obtained from the copyright holder.