25得票1回答
Scala 2.10.1中的新解糖行为

假设我有这个单子类: case class Foo[A](xs: List[A]) { def map[B](f: A => B) = Foo(xs map f) def flatMap[B](f: A => Foo[B]) = Foo(xs flatMap f.andT...

24得票6回答
如何在for推导式中实现if..else条件语句?

我正在提出一个非常基础的问题,最近让我感到困惑。 我想编写一个Scala For表达式,以执行类似以下操作的任务:for (i <- expr1) { if (i.method) { for (j <- i) { if (j.method) { ...

24得票4回答
Scala中使用for推导式过滤Future。

在下面的示例中,我遇到了异常java.util.NoSuchElementException: Future.filter predicate is not satisfied 当检查if( i == 2 )失败时,我希望得到结果Future( Test2 )。如何处理涉及组合 future...

23得票4回答
我能否在Scala中使用for-comprehension/yield创建一个Map?

我能在代码中使用 "yield" 关键字并返回一个 Map 吗? 我已经尝试过了val rndTrans = for (s1 <- 0 to nStates; s2 <- 0 to nStates ...

20得票2回答
什么是模式匹配序列推导的惯用方式?

val x = for(i <- 1 to 3) yield i x match { case 1 :: rest => ... // compile error } 构造函数无法实例化到期望类型; 找到的是: collection.immutable.:: [B...

19得票3回答
两个列表的笛卡尔积

给定一个数字与多个字符相关联的地图scala> val conversion = Map("0" -> List("A", "B"), "1" -> List("C", "D")) conversion: scala.collection.immutable.Map[java...

19得票1回答
如何将Scala中的map / flatMap转换为for comprehension?

如何将这个 map/flatMap 转化为 for 推导式,并请解释其工作原理,谢谢。 def compute2(maybeFoo: Option[Foo]): Option[Int] = maybeFoo.flatMap { foo => foo.bar....

18得票1回答
在for循环中实现DISTINCT

在他的Coursera课程的倒数第二节讲座中,Odersky教授提供了以下for推导式作为可爱案例研究的最后一步: def solutions(target: Int): Stream[Path] = for { pathSet <- pathSets path &...

18得票2回答
将EitherT和Future结合使用

我有一个应用程序,需要与不同的后端系统进行大量通信,并希望使用for-comprehensions简化跨后端系统的流程。 我想结合EitherT (scalaz)和Future (scala 2.10),以便我可以捕获第一个潜在错误(无论是未来还是后端系统问题),并向最终用户返回适当的消息。...

17得票9回答
在Scala中,for..else语句与Option类型有什么关系?

假设我有两个选项,如果两个都是“Some”,则执行一条代码路径,否则执行另一个。我想要的是这样的:for (x <- xMaybe; y <- yMaybe) { // do something } else { // either x or y were None, ha...