learning scala How To Create Implicit Function

println("Step 1: How to create a wrapper String class which will extend the String type")
class DonutString(s: String) {

  def isFavoriteDonut: Boolean = s == "Glazed Donut"

}

println("\nStep 2: How to create an implicit function to convert a String to the wrapper String class")
object DonutConverstions {
  implicit def stringToDonutString(s: String) = new DonutString(s)
}


println("\nStep 3: How to import the String conversion so that it is in scope")
import DonutConverstions._

println("\nStep 4: How to create String values")
val glazedDonut = "Glazed Donut"
val vanillaDonut = "Vanilla Donut"

println("\nStep 5: How to access the custom String function called isFavaoriteDonut")
println(s"Is Glazed Donut my favorite Donut = ${glazedDonut.isFavoriteDonut}")
println(s"Is Vanilla Donut my favorite Donut = ${vanillaDonut.isFavoriteDonut}")

result

Step 1: How to create a wrapper String class which will extend the String type

Step 2: How to create an implicit function to convert a String to the wrapper String class

Step 3: How to import the String conversion so that it is in scope

Step 4: How to create String values

Step 5: How to access the custom String function called isFavaoriteDonut
Is Glazed Donut my favorite Donut = true
Is Vanilla Donut my favorite Donut = false

  

posted @ 2019-07-11 17:39  嵌入式实操  阅读(102)  评论(0编辑  收藏  举报