Scala 突破 map

标签 scala

当满足这样的条件时,我需要打破 seq 映射,其中 foo将返回一个对象列表,其中大小取决于找到 targetId 所需的时间

def foo(ids: Seq[String], targetId: String) = ids.map(id => getObject(id)).until(id == targetId)

显然,直到方法不存在,但我正在寻找等效的方法

最佳答案

无需创建中间流/迭代器/ View 。

只需调用takeWhile第一的:

 ids.takeWhile(_ != targetId).map(getObject)

关于Scala 突破 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33293883/

相关文章:

scala - 扩展教程:java.lang.ClassNotFoundException

forms - Play2.1 中 inputRadioGroup 的 Scala 示例

scala - Play Framework 测试助手需要隐式 `Materializer`

amazon-web-services - 如何覆盖 AWS CDK 资源逻辑 ID 而不导致强制转换异常

scala - 使用 Flink 从 kafka 主题的开头进行消费

java - 当修改包含泛型的类不是一个选项时,如何修复可怕的类型不匹配 required _$1 ?

scala - 如何在 Scala 中为 Iterable<Object> 编写 while() 循环?

scala - 更优雅的写法 if(list.nonEmpty) Some(list.max) else None?

multithreading - Scala Future vs Thread 用于长时间运行的任务而没有结果

Scala 错误 "pattern type is incompatible with expected type"