gpt4 book ai didi

scala - 在 Scala 中使列表像元组一样解构,或使元组像列表一样迭代

转载 作者:行者123 更新时间:2023-12-01 07:41:07 25 4
gpt4 key购买 nike

我有一些变量,我想通过一个函数运行每个变量来创建新变量。所以基本上我目前有

val formatted1 = format(raw1)
val formatted2 = format(raw2)
val formatted3 = format(raw3)

有没有办法在一行中完成这一切?寻找类似的东西
val (formatted1, formatted2, formatted3) = (raw1, raw2, raw3).map(format)

但这似乎以不兼容的方式结合了 List 的特性和 Tuple 的特性。

最佳答案

你可以映射元组,但如果你把你的项目放在列表中:

val List(formatted1, formatted2, formatted3) = List(raw1, raw2, raw3).map(format)

这适用于许多其他集合,例如 Seq、Array 等(两侧的类型必须相同!但您可以在左侧使用更通用的类型:例如 val Seq(...) = List(...) )。

对于列表(但不适用于其他类型),您还可以编写如下内容:
val formatted1::formatted2::formatted3::Nil = List(raw1, raw2, raw3).map(format)

从 Scala 2.10 开始,您可以使用 Seq 执行相同的技巧:
val formatted +: formatted2 +: formatted3 +: _ = ....

关于scala - 在 Scala 中使列表像元组一样解构,或使元组像列表一样迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15209847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com