diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2013-04-09 23:13:23 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2016-11-10 18:03:23 +0100 |
commit | 859af2fa66c152ab6fa2ddc4003ada65315aa5de (patch) | |
tree | fb6e61f9bbac923752fb651fed9423d2c2296d3c /Scala/sandbox/3-rationals.scala | |
parent | f3e457db6fbefe3acc95c97e04d1a972ebc5f123 (diff) | |
download | coursera-859af2fa66c152ab6fa2ddc4003ada65315aa5de.zip coursera-859af2fa66c152ab6fa2ddc4003ada65315aa5de.tar.gz |
Scala : take care of operators for Rationals class
Diffstat (limited to 'Scala/sandbox/3-rationals.scala')
-rw-r--r-- | Scala/sandbox/3-rationals.scala | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/Scala/sandbox/3-rationals.scala b/Scala/sandbox/3-rationals.scala index 8cdf4d7..d1eda22 100644 --- a/Scala/sandbox/3-rationals.scala +++ b/Scala/sandbox/3-rationals.scala @@ -14,18 +14,18 @@ object Rationals { def numer = x / g def denom = y / g - def neg = new Rational(-numer, denom) + def unary_- = new Rational(-numer, denom) - def less(that: Rational) = this.numer * that.denom < that.numer * this.denom + def < (that: Rational) = this.numer * that.denom < that.numer * this.denom - def max(that: Rational) = if (this.less(that)) that else this + def max(that: Rational) = if (this < (that)) that else this - def add(that: Rational) = + def + (that: Rational) = new Rational( numer * that.denom + that.numer * denom, denom * that.denom) - def sub(that: Rational) = add(that.neg) + def - (that: Rational) = this + -that override def toString = numer + "/" + denom @@ -33,8 +33,8 @@ object Rationals { def run = { println("Rationals") - println(new Rational(2, 3) add (new Rational(3, 4)) toString) - println(new Rational(1, 3) sub (new Rational(5 ,7)) sub (new Rational(3, 2)) toString) + println(new Rational(2, 3) + (new Rational(3, 4)) toString) + println(new Rational(1, 3) - (new Rational(5 ,7)) - (new Rational(3, 2)) toString) println(new Rational(1, 3) max (new Rational(5 ,7)) toString) } |