• rational.rb

Quicksearch

# Integer

### Public Instance Methods

denominator() click to toggle source

In an integer, the denominator is 1. Therefore, this method returns 1.

```
# File rational.rb, line 417
def denominator
1
end
```
gcd(other) click to toggle source

Returns the greatest common denominator of the two numbers (`self` and `n`).

Examples:

```72.gcd 168           # -> 24
19.gcd 36            # -> 1
```

The result is positive, no matter the sign of the arguments.

```
# File rational.rb, line 438
def gcd(other)
min = self.abs
max = other.abs
while min > 0
tmp = min
min = max % min
max = tmp
end
max
end
```
gcdlcm(other) click to toggle source

Returns the GCD and the LCM (see gcd and lcm) of the two arguments (`self` and `other`). This is more efficient than calculating them separately.

Example:

```6.gcdlcm 9     # -> [3, 18]
```
```
# File rational.rb, line 473
def gcdlcm(other)
gcd = self.gcd(other)
if self.zero? or other.zero?
[gcd, 0]
else
[gcd, (self.div(gcd) * other).abs]
end
end
```
lcm(other) click to toggle source

Returns the lowest common multiple (LCM) of the two arguments (`self` and `other`).

Examples:

```6.lcm 7        # -> 42
6.lcm 9        # -> 18
```
```
# File rational.rb, line 457
def lcm(other)
if self.zero? or other.zero?
0
else
(self.div(self.gcd(other)) * other).abs
end
end
```
numerator() click to toggle source

In an integer, the value is the numerator of its rational equivalent. Therefore, this method returns `self`.

```
# File rational.rb, line 410
def numerator
self
end
```
to_r() click to toggle source

Returns a Rational representation of this integer.

```
# File rational.rb, line 424
def to_r
Rational(self, 1)
end
```

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.