Список foldRight Всегда Использует foldLeft?

Я только что посмотрел наList.scalaВ реализацииfoldRight().

  override def reverse: List[A] = {
    var result: List[A] = Nil
    var these = this
    while (!these.isEmpty) {
      result = these.head :: result
      these = these.tail
    }
    result
  }

  override def foldRight[B](z: B)(op: (A, B) => B): B =
    reverse.foldLeft(z)((right, left) => op(left, right))

Как я понимаю, звонюfoldRight наList результаты в вызовеtheList.reverse.foldLeft(...).

ЯвляетсяList.foldRight реализовано сfoldLeft чтобы использовать один кадр стека вместо использования нескольких кадров стека сfoldLeft?

Ответы на вопрос(1)

Ваш ответ на вопрос