有没有办法命名参数.map
函数需要?请参阅Scala示例中的以下内容:
aggregated.map( (kv: ((String, Int, Int), (Int, Int))) =>("some stuff"))
我想把它们命名为
aggregated.map( (kv: ((name:String, score:Int, anInt:Int), (age:Int, count:Int))) =>("some stuff"))
这样可以在映射完成时更容易引用参数.例如,而不是使用kv._1._2
我可以说score
或kv.score
.使代码更易读,更容易调试.
使用"case"使用模式匹配从元组中提取变量:
aggregated.map { case((name, score, anInt), (age,count)) => ... }
Run Code Online (Sandbox Code Playgroud)
您不需要指定类型注释,类型推断器会为您执行此操作:
scala> List((("a",true,2),(1.0,2L)), (("b",false,11),(2.0,3L))).map {
case ((a,b,c),(d,e)) => s"$a$b$c$d$e"
}
res3: List[String] = List(atrue21.02, bfalse112.03)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
387 次 |
最近记录: |