scala - 使用 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 实现这一点
解决方案
我假设你总是有一个像'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)
请注意,输入未经过验证!
推荐阅读
- c - 如何将已安装的 C 库链接到 Octave 以创建新的 Octave 可调用函数?
- reactjs - 来自库的反应上下文未在消费者中更新
- django - Slugify self.title + 随机数
- kubernetes - pod 被视为失败的条件是什么
- database - 如何将数据从 Netezza 迁移到 Bigquery
- colors - 使用纯色的材质在使用 THREE.ACESFilmicToneMapping 时会被烧焦
- java - 如何在 servlet 代码中添加成功的警报消息
- vue.js - Vee 验证如何验证单选按钮
- c++ - 我如何编译电报 github 提供的电报 cpp 客户端?
- python - 遍历与用户输入不匹配的 SQLite DB 元组