在scala中使列表像元组一样解构,或者像列表一样迭代元组
发布时间:2020-12-16 10:07:47 所属栏目:安全 来源:网络整理
导读:我有一些变量,我想通过一个函数运行它们来创建新的变量.所以基本上我现在得到了 val formatted1 = format(raw1)val formatted2 = format(raw2)val formatted3 = format(raw3) 有没有办法在一行中完成这一切?寻找类似的东西 val (formatted1,formatted2,form
我有一些变量,我想通过一个函数运行它们来创建新的变量.所以基本上我现在得到了
val formatted1 = format(raw1) val formatted2 = format(raw2) val formatted3 = format(raw3) 有没有办法在一行中完成这一切?寻找类似的东西 val (formatted1,formatted2,formatted3) = (raw1,raw2,raw3).map(format) 但这似乎以不兼容的方式组合了List的特征和元组的特征. 解决方法
您可以映射元组,但是如果您将项目放在列表中:
val List(formatted1,formatted3) = List(raw1,raw3).map(format) 这适用于许多其他集合,如Seq,Array等(两边的类型必须相同!但你可以在左边有更多的通用类型:例如val Seq(…)= List(… )). 对于列表(但不适用于其他类型),您还可以编写如下内容: val formatted1::formatted2::formatted3::Nil = List(raw1,raw3).map(format) 从Scala 2.10开始,您可以使用Seq执行相同的技巧: val formatted +: formatted2 +: formatted3 +: _ = .... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读