[英]Scala equivalent to Haskell's sequence
是否有执行转换Seq[Option[T]] -> Option[Seq[T]]
的Scala库方法?
Haskell等效项为sequence :: Monad m => [ma] -> m [a]
。
不幸的是,这在标准库中不可用(尽管上面有pedrofurla指出有Future.sequence
)。 造成这种情况的部分原因可能只是因为Scala标准库对应用函子(甚至甚至是monads)一无所知。
正如pedrofurla也在上文中提到的那样, Scalaz确实提供了sequence
,并且它的类型实际上比Haskell的类型更正确-而不是要求列表中包含Monadic作为输入,它接受具有可应用实例的东西,其中包含具有可遍历实例(例如,它等效于Haskell中的Data.Traversable
的sequenceA
,而不是Prelude中的sequence
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.