【问题标题】:Stop processing maps in Scala停止在 Scala 中处理地图
【发布时间】:2018-04-14 05:46:03
【问题描述】:

在下面的代码中,如果元素=2,我需要停止处理地图:

val seq = Seq(1,2,3)

seq.map { x => if (x==2) /* stop processing the map */  }

这可能吗?

【问题讨论】:

标签: scala


【解决方案1】:

您不能直接使用map() 来执行此操作,因为map() 旨在处理整个集合,但您可以将集合分成两部分并将map() 应用于一个而不是另一个。

val seq = Seq(0,1,2,3,3,2,1,0)
val (before, after) = seq.span(_ != 2)
before.map(_ + 70) ++ after  //res0: Seq[Int] = List(70, 71, 2, 3, 3, 2, 1, 0)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多