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

在元组列表中使用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)

避免模??式匹配和表达式,所以应该是合理的.我通常只是像你一样使用案例.

(编辑:李大同)

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

    推荐文章
      热点阅读