加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读