|
Scala example source code file (implicits.scala)
The Scala implicits.scala source code
object A {
object B {
implicit def int2string(x: Int) = "["+x.toString+"]"
}
}
class C(x: String) {
class Inner {
}
object Inner {
val s: String = x
implicit def Inner2String(x: Inner): String = s
}
}
object Test extends App {
import A.B._
val c = new C("OK")
val i = new c.Inner
val s: String = i
Console.println(s)
Console.println(2: String)
}
object TestPriority {
class C(x: Int) { def foo: Int = x + 1 }
class D(x: Int) { def foo: Int = x + 2 }
class IMPL {
implicit def Int2C(x: Int): C = new C(x)
}
object impl extends IMPL {
implicit def Int2D(x: Int): D = new D(x)
}
import impl._
val x: C = 2
val y: D = 2
assert(x.foo == 3, x.foo)
assert(y.foo == 4, y.foo)
assert((2).foo == 4, (2).foo)
}
Other Scala examples (source code examples)Here is a short list of links related to this Scala implicits.scala source code file: |
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.