foldRight
trait Collection[A] { def foldRight[B](z: B)(op: (A, B) => B): B }
foldRight は、各要素と1つ前の op の結果に二項演算子 op を右から左の順で適用していきます。 最初に op が適用されるときは、初期値 z が入力されます。
op
z
空のコレクションでは、この関数は op を適用せず、z が直接返されます。