Scala暗黙型の暗黙パラメータ

988 ワード

暗黙的なパラメータはキーワードimplicitを使用して識別され、使用すると、この識別変数に値を渡さずにコンテキストから検索できます.
1、コード
package com.yy.enhance

/**
 *     
 */
object Implicit_Context{
  //   
  implicit val name:String = "yy"
}

object Param{
  //     
  //name     implicit,           name  
  def info(age:Int)(implicit name:String){
    println(name + ":" + age)
  }
}
object ImplicitParamTest extends App {
  //         ,     
  Param.info(26)("xx");
  
  //        
  import Implicit_Context._
  Param.info(25)
}
、結果
xx:26
yy:25

3、暗黙変換と暗黙パラメータ結合
package com.yy.enhance

/**
 *          
 */
object ImplicitConversionAndImlicitParam extends App {
  //     
  //implicit:    ,              ordered
  //  ordered     
  def bigger[T](a:T,b:T)(implicit ordered:T => Ordered[T])
   = if(ordered(a)>b) a else b
   
   println(bigger(3,4))
   println(bigger("yy","xx"))
}
の結果は次のとおりです.
4
yy