这个递归Scala代码如何工作?

时间:2017-03-20 09:57:53

标签: scala

我有以下代码段:

def sequence[A](a: List[Option[A]]) : Option[List[A]] =
  a match {
    case Nil => Some(Nil)
    case h :: t => h flatMap (hh => sequence(t) map (hh :: _))
  }

递归如何工作?递归是否会先发生(调用sequence(t)直到它获得Nil)并在执行map之后?

0 个答案:

没有答案