scala – 如何给出`x._1._2`参数实际名称
发布时间:2020-12-16 18:42:56 所属栏目:安全 来源:网络整理
导读:有没有办法命名参数.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 s
有没有办法命名参数.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.score而不是使用kv._1._2.使代码更易读,更容易调试. 解决方法
使用“case”使用模式匹配从元组中提取变量:
aggregated.map { case((name,score,anInt),(age,count)) => ... } 您不需要指定类型注释,类型推断器会为您执行此操作: 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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |