scala - 如何从一列选项中过滤掉无?
问题描述
我认为这可以提取 List[String],但不是。(anmKey 是 Option[String])
run(query[Anm].map(_.anmKey).flatMap(_))
解决方案
要摆脱选项和非选项,请使用flatten
scala> List(Some("string1"), None, Some("string2")).flatten
val res0: List[String] = List(string1, string2)
或者,如果您想保留选项但删除非选项,您可以使用filter
.
scala> List(Some("string1"), None, Some("string2")).filter(_.isDefined)
val res1: List[Option[String]] = List(Some(string1), Some(string2))
推荐阅读
- laravel - Laravel 雄辩的分页关系未显示在集合中
- macos - 使用 jar xvf 提取目录中的所有档案?macOS 终端
- android - 完成活动不会重置它
- android - 如何在导航抽屉顶部创建工具栏(Android/kotlin)
- webpack - 为什么当我使用 Vue 的运行时版本时,我的 Vue.js 应用程序无法运行?
- ios - UITableview 单元格切断了一些消息(视图)
- java - 如何在 Testng 中查找 Test suite.xml 执行状态
- sql - BigQuery:从数组创建表
- php - php更改日期的顺序
- python - “while”循环过早退出(python 3)