首页 > 解决方案 > 使用 flatMap 设置增量

问题描述

我有一个可变集并从输入中为其分配值

var set = scala.collection.mutable.Set[Int]() set ++= (in.readLine().split(" ").map(_.toInt))

输入:
1 5

实际输出:
1,5

所需输出:
1,2,3,4,5

如果使用有条件的 flatMap,但出现错误。如何使用 flatMap 实现这一点

标签: scala

解决方案


我假设你总是有一个像'2 5'这样的字符串作为输入:

解决方案可能如下所示:

def toSeq(value: String): Seq[Int] = {
  value.split(" ")
  .map(_.toInt).toList match {
    case x1::x2::_ => x1 to x2
    case other => Nil// handle Exception
  }
}
println(toSeq("1 5").toList)

请注意,输入未经过验证!


推荐阅读