Implicit class allows you to (appear to) add new methods into an existing class (something written by someone else, or something you don’t want to change):
object Test {
import Example._
implicit class AwsomeString(val s: String) {
def awesome = s + " Awesome!"
}
"Scala is".awesome
}
Implicit value class is similar, but it extends AnyVal
:
object Test {
import Example._
implicit class AwsomeString(val s: String) extends AnyVal {
def awesome = s + " Awesome!"
}
"Scala is".awesome
}
0 comments:
Post a Comment