我有四种类型A,B,C和D,类型Future[Option[A]]和三个函数的初始值x:f1: A => Option[B],f2: B => Future[Option[C]]和f3: C => D。 我该如何编写for理解,从x开始,导致Future[Option[D]]这个类型的值将是这三个函数的“组合”?
当我在理解时,如何检查元素是否已经在列表中? 例如说在下面的理解我想限制重复数字尽管我根本不寻找唯一的数字,我想通过if条件来防止。有人请纠正我,如果我错了; [x for x in [1,2,3,1,2,3]]
我在寻找类似 [x for x in [1,2,3,1,2,3] if not in self]
当我以这种方式使用与如果警卫的理解时,我得到一个错误。 代码: for {
foo <- Left[String,String]("teststring").right
bar <- Right[String,String]("teststring").right if (foo==bar)
} yield (bar)
错误: error: type mismatch;