在元组列表中使用map()时的详细符号
发布时间:2020-12-16 09:22:26 所属栏目:安全 来源:网络整理
导读:我喜欢让我的代码天真可读. 如果我设置一个简单的元组列表: scala val a = List(6,8,10)a: List[Int] = List(6,10)scala val b = a zipWithIndexb: List[(Int,Int)] = List((6,0),(8,1),(10,2)) 我想在列表中映射(),但是我发现._1 ._2语法有点难以理解: sc
我喜欢让我的代码天真可读.
如果我设置一个简单的元组列表: scala> val a = List(6,8,10) a: List[Int] = List(6,10) scala> val b = a zipWithIndex b: List[(Int,Int)] = List((6,0),(8,1),(10,2)) 我想在列表中映射(),但是我发现._1 ._2语法有点难以理解: scala> val c = b map ( a => if(a._1 > 8) a._1 else a._2 ) c: List[Int] = List(0,1,10) 为了’命名’这个元组,我用过: scala> val c = b map ( { case (num,i) => if(num > 8) num else i } ) c: List[Int] = List(0,10) 两个问题: 1)是否有更简洁的方法来命名元组成员? 2)我的版本以上是否有相当大的性能(它用于中等性能关键代码). 谢谢. 解决方法b map Function.tupled((num,i) => if(num > 8) num else i) 避免模??式匹配和表达式,所以应该是合理的.我通常只是像你一样使用案例. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |