首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将scalaz-stream进程[F,Option[T]]转换为进程[F,T]?

如何将scalaz-stream进程[F,Option[T]]转换为进程[F,T]?
EN

Stack Overflow用户
提问于 2016-03-06 08:07:38
回答 1查看 43关注 0票数 0

我有一个scalaz-stream进程:

代码语言:javascript
复制
val src = Process.repeatEval(Task(in.take())) : Process[Task, Option[T]]

我如何摆脱选项?

到目前为止,我已经使用了collect,但感觉并不优雅:

代码语言:javascript
复制
src.collect { case Some(x) => x } : Process[Task, T]

有没有更好的方法?

EN

回答 1

Stack Overflow用户

发布于 2016-03-28 08:08:49

您的解决方案是正确的,但是实现已经存在于process1.stripNone的scalaz-stream (<= 0.8)中

代码语言:javascript
复制
src.pipe(process1.stripNone)

代码语言:javascript
复制
src |> process1.stripNone

许多其他转换(可能是有状态的)都是在process1中定义的,因此值得在该文件中查找可能有用的转换。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35821484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档