繁体   English   中英

相当于Haskell序列的Scala

[英]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.TraversablesequenceA ,而不是Prelude中的sequence )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM