Skip to content

Instantly share code, notes, and snippets.

@HDBandit
Created July 31, 2016 13:09
Show Gist options
  • Save HDBandit/6b0fe79547ca491eb4142fdced817679 to your computer and use it in GitHub Desktop.
Save HDBandit/6b0fe79547ca491eb4142fdced817679 to your computer and use it in GitHub Desktop.
class Rational(n: Int, d: Int) {
require(d != 0, "Denominator cannot be 0")
println("My rational is created")
val num = n
val denom = d
def this(n: Int) = this(n, 1)
override def toString = s"$n/$d"
def +(that: Rational): Rational = {
new Rational(
n * that.denom + that.num * d,
d * that.denom
)
}
def +(that: Int): Rational = {
new Rational(
n + that * d,
d
)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment