Une classe Scala
package com.example.scala
import scala.annotation.tailrec
class Rationel(num: Int, denom: Int) {
def this(n: Int) = this(n, 1)
private val p = pgcd(num, denom)
val numerateur = num / p
val denominateur = denom / p
lazy val reel = numerateur.toFloat / denominateur
println("valeur réelle = " + reel)
override def toString =
numerateur.toString + " / " + denominateur.toString
@tailrec
private def pgcd(a: Int, b: Int): Int =
if (b == 0) a else pgcd(b, a % b)
}