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.