foldLeft 初期値を1として、arrの和を得る。 val arr = List(2, 3, 4) arr.foldLeft(1){(x, y) => x + y} 1 + 2 + 3 + 4 で 10 となる。 短く書くと、 arr.foldLeft(1)( _ + _ ) foldLeft には /: というエイリアスがあり、以下のように書ける。 (1 /: arr){_ + _} foldRight foldRight では適用の順番が逆になる。 val arr = List(2, 3, 4) arr.foldRight(1)( _ + _ ) 4+1 3+(4+1) 2+(3+(4+1)) の順番で適用される。 foldRight は :\ というエイリアスがあり、以下のように書ける。 (arr :\ 1){_ + _} foldLeft の /: とは引数の位置が逆になる。末