scala中的Rational代码

时间:2014-02-02 14:38:15

标签: scala

/ *想要读取计算的理性代码((1/2)+(2/3))。我找到了这段代码,但我有一个关于* /

的问题
object Rationals
{
     val x= new Rational(1, 2) // 1/2

     x.numer // *
     x.denom // **
       /*  * and ** are my questions. why I have to use them?   */

     val y = new Rational(2, 3) // 2/3
     x.add(y)

      /* my result most be equal to 7/6 */
}


class Rational (x : Int, y : Int)
{
     def numer= x
     def denom= y

     def add (that : Rational) =
     new Rational (
     numer * that.denom + that.numer * denom,   /* 1*3 + 2*2 */
     denom * that.denom) /* 2*2 */

    override def toString = numer + "/" + denom   /* 7/6 */

 }

1 个答案:

答案 0 :(得分:1)

行:

     x.numer // *
     x.denom // **

没有做任何事情。他们正在计算但没有使用;并且他们没有副作用。