scala - 使用日志过滤一组 Either[x, y]
问题描述
给定 a Set[Either[BadObject, GoodObject]]
,我想将其转换为 a Set[GoodObject]
,同时记录所有BadObjects
.
我遇到的问题是,当我尝试在collect
通话中添加日志记录时,例如:
someMethodThatReurnsTheSet.collect {
case Right(value) => value
case Left(res) => logger.warn(s"Bad object : $res")
}
这改变了返回值,我得到了一个Set[None]
,这不是我想要的。
解决方案
推荐阅读
- sql - 连接表 t1 和 t2,只保留 t1 的一列
- excel - 使用多行标题VBA合并来自多个工作表的数据
- java - 通过 Lambda 进行 API 网关身份验证
- javascript - 为 0 到 999 之间的数字或不输入的数字制定 Vuetify 规则
- html - HTML / CSS中的主题材料设计
- python - 为什么 cv2.imread() 不存储我的图像文件的名称?
- python-3.7 - 是否可以在一个变量中存储 2 个单独的值?PYTHON
- linux - .NET CORE 3.0 在 linux 上的 docker 中使用 Windows 身份验证是否有效?
- active-directory - 可以通过添加到 AD 组为 AD 用户创建 Skype for business 帐户吗?
- asp.net-core-2.1 - Core 2.0 发布到 IIS,web.config 错误