Я пытаюсь понять агрегат в Scala, и с одним примером я понял логику, но результат второй, которую я пытался смутить.понимание агрегата в Scala
Пожалуйста, дайте мне знать, где я ошибся.
Код:
val list1 = List("This", "is", "an", "example");
val b = list1.aggregate(1)(_ * _.length(), _ * _)
1 * "Эта" .length = 4
1 * "является" .length = 2
1 * "AN" .length = 2
1 * "пример" .length = 7
4 * 2 = 8, 2 * 7 = 14
8 * 14 = 112
выход также пришел как 112. но ниже,
val c = list1.aggregate(1)(_ * _.length(), _ + _)
Я думал, это будет выглядеть следующим образом. 4, 2, 2, 7
4 + 2 = 6
2 + 7 = 9
6 + 9 = 15,
но выход все же пришел, как 112.
Он идеально делать все операции я упоминал в seqop
, здесь _ * _.length
Не могли бы вы объяснить, или кор выпрямите меня, где я ошибся.?
См. Http://stackoverflow.com/questions/30828056/how-does-aggregate-work-in-scala/30828273 –