Python Summary reduce, for reference:
reduce(function, iterable[, initializer])
Traversable
A good type to view is Traversablesupertype ArrayBuffer. You can just learn this API for a while, because there is a lot of useful stuff.
To reduce
Python reduce, initializer , Scala Traversable[A]#reduceLeft:
reduceLeft[B >: A](op: (B, A) => B): B
iterable Python Traversable, arg function Python op.
, reduce, reduceRight, reduceLeftOption reduceRightOption, , .
Fold
, initializer, Scala Traversable[A]#foldLeft:
foldLeft[B](z: B)(op: (B, A) => B): B
initializer Python z arg foldLeft.
, fold foldRight.
, :
def fibonacci(position: Int): Seq[Int] =
position match {
case 1 => Vector(1)
case 2 => Vector(1, 1)
case _ =>
(2 to position).foldLeft(Vector(1, 1)) { (series, _) =>
series :+ (series(series.size - 1) + series(series.size - 2))
}
}
:
return- (,
match) , if - else var ( ) val ( ),- (
ArrayBuffer), . Vector .
Fibonacci, Stream:
val fibs: Stream[BigInt] = BigInt(0)
fibs.zip(fibs.tail).map { n => n._1 + n._2 }
fibs.drop(1).take(6).mkString(" ")