scala隱式值

object Deliobj{
  implicit val dd = Deli("L","R")  
}
object ImplicitTest {
  def main(args:Array[String]){
//    implicit val d = Deli("{","}") //若是沒有這一句,則能夠import另外一個包中的某個object中的implicit val dd = Deli("xx","yy")
    import Deliobj._  //這一句很重要,不然編譯錯誤
    println(quote("鋼鐵是怎樣煉成的")(Deli("《 ","》")))
    
    println(quote("鋼鐵是怎樣煉成的"))  //當沒有在前面定義 implicit val d時,則出現錯誤,只有定義了implicit val d則編譯器會在此時查找範圍以內的已經定義過的implicit形式的Deli變量對象做爲quote的第二個參數的隱式值
  } 
  def quote(what:String)(implicit delis:Deli)= delis.left+what+delis.right
}
case class Deli(left:String,right:String)
 對象

相關文章
相關標籤/搜索