struct Rational

Included Modules

Defined in:

rational.cr
rational/version.cr

Constant Summary

VERSION = "0.1.0"

Constructors

Instance Method Summary

Constructor Detail

def self.new(num : Int32, den : Int32 = 1) #

[View source]
def self.new(num : Int, den : Int = 1) #

[View source]

Instance Method Detail

def !=(rhs : Rational) #

[View source]
def *(rhs : Rational) #

[View source]
def *(rhs : Int) #

[View source]
def +(rhs : Rational) #

[View source]
def +(rhs : Int) #

[View source]
def -(rhs : Rational) #

[View source]
def -(rhs : Int) #

[View source]
def /(rhs : Rational) #

[View source]
def /(rhs : Int) #

[View source]
def <(rhs : Rational) #

[View source]
def <=(rhs : Rational) #

[View source]
def <=>(rhs : ::Number::Primitive) #
Description copied from module Comparable(Float32 | Float64 | Int128 | Int16 | Int32 | Int64 | Int8 | UInt128 | UInt16 | UInt32 | UInt64 | UInt8)

The comparison operator. Returns 0 if the two objects are equal, a negative number if this object is considered less than other, a positive number if this object is considered greater than other, or nil if the two objects are not comparable.

Subclasses define this method to provide class-specific ordering.

The comparison operator is usually used to sort values:

# Sort in a descending way:
[3, 1, 2].sort { |x, y| y <=> x } # => [3, 2, 1]

# Sort in an ascending way:
[3, 1, 2].sort { |x, y| x <=> y } # => [1, 2, 3]

[View source]
def <=>(rhs : Rational) #

[View source]
def ==(rhs : Rational) #

[View source]
def >(rhs : Rational) #

[View source]
def >=(rhs : Rational) #

[View source]
def den : Int32 #

[View source]
def num : Int32 #

[View source]
def to_f #

[View source]
def to_i #

[View source]
def to_s #
Description copied from class Object

Returns a nicely readable and concise string representation of this object, typically intended for users.

This method should usually not be overridden. It delegates to #to_s(IO) which can be overridden for custom implementations.

Also see #inspect.


[View source]