代码之家  ›  专栏  ›  技术社区  ›  Srinivas

遗传尺度下的方差

  •  1
  • Srinivas  · 技术社区  · 7 年前

    如果特征函数2签名为

    trait Function2[-T1, -T2, +R] extends AnyRef
    

      val f2 : (String, String) => Int = new Function2[String, String, Int] {
        def apply(s1 : String, s2 : String) = s1.length + s2.length
      }
    

    像这样使用它

      val listOfFullNames : List[(Any, Any)] = List(("Mark","Smith"), ("Kim","Hughes"), ("Zoe","Zaldana"), ("Matt","Damon"))
    
      val output3 = listOfFullNames.map(x => f2(x._1, x._2))
    
    1 回复  |  直到 7 年前
        1
  •  3
  •   Harald Gliebe Grzegorz Wierzowiecki    7 年前

    前两个类型参数中的逆变意味着 Function2[Any,Any,Int] 是的一个子类型 Function2[String,String,Int] Any 价值观 Int String 值,因此也可以视为一个函数 (String,String) => Int .

    推荐文章