blob: 9a531a0cddc67459b7ab182198a33130b9e9bdd3 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
object Test {
abstract class Unit
object NoUnit extends Unit
object Hour extends Unit
case class Measure(scalar: Double, unit: Unit) {
def *(newUnit: Unit): Measure = Measure(scalar, newUnit)
}
implicit def double2Measure(scalar: Double): Test.Measure =
Measure(scalar, NoUnit)
def main(args: Array[String]): scala.Unit = {
Console.println("3.0 * Hour = " + (3.0 * (Hour: Unit)))
}
}
|