gpt4 book ai didi

scala - 将其中一个列表转换为一个列表中的一个的最佳方法?

转载 作者:行者123 更新时间:2023-12-03 08:39:42 24 4
gpt4 key购买 nike

我有一些像下面这样的代码,我有一个列表,我想把它变成一个列表中的一个......特别是(在这种情况下),如果列表中有任何左边,那么我返回a 列表的左边,否则我返回权限列表的右边。

val maybe: List[Either[String, Int]] = getMaybe
val (strings, ints) = maybe.partition(_.isLeft)
strings.map(_.left.get) match {
case Nil => Right(ints.map(_.right.get))
case stringList => Left(stringList)
}

调用 get总是让我觉得我一定错过了什么。

有没有更惯用的方法来做到这一点?

最佳答案

data.partition(_.isLeft) match {                            
case (Nil, ints) => Right(for(Right(i) <- ints) yield i)
case (strings, _) => Left(for(Left(s) <- strings) yield s)
}

一次通过:
data.partition(_.isLeft) match {                            
case (Nil, ints) => Right(for(Right(i) <- ints.view) yield i)
case (strings, _) => Left(for(Left(s) <- strings.view) yield s)
}

关于scala - 将其中一个列表转换为一个列表中的一个的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6489584/

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