제 2 스칼라에서 객체 지향 프로그래밍 : 소스 코드 분석 스칼라의 방법

브로리스트 목록 = (1,2,3,4)
list.reduce ((X : INT, Y : INT) => X + Y) ---> list.reduceLeft ((X : INT, Y는 : INT) = > X + Y)

VAR 제 = TRUE
VAR의 ACC : 지능 = 0
OP = (X : INT, Y : INT) => X + Y

용 루프
의 첫 번째 사이클 : ACC = 1 = 거짓 제
2 사이클 : ACC OP = (1,2) = 1 + 2 = 3
번째 사이클 : ACC OP = (3,3) = 3 + 3 = 6
네번째 사이클 : ACC OP = (6,4) = 10 + 6 = 4
============================== ========================================
발 목록 = 목록 (, 2, 3 ., 4)
list.reduceRight ((X : INT, Y : INT) => XY)

OP (머리, tail.reduceRight (OP)) --- "OP .reduceRight ((1, 목록 (2,3,4). OP) ----> OP (도 2 에서 (3,4) .reduceRight (OP) -> OP (3 표 (4) .reduceRight (OP) = 4) = 3-4 = -1) = 2 - (- 1) = 3) = 1-3 = -2

================================== ======================================
발 목록 = 목록 (1,2,3,4 )
list.foldRight (0) (_-_) ---> reverse.foldLeft (Z) ((오른쪽, 왼쪽) => OP (왼쪽, 오른쪽))

목록 (4,3,2,1) .foldLeft을 ( Z) ((오른쪽, 왼쪽) =>를 OP (왼쪽, 오른쪽))


VAR의 ACC = 0
VAR이 = 목록 (4,3,2,1)
동안 {(these.isEmpty!)
ACC = 영업 이익 (ACC, these.head)
이 =이 these.tail
}

循环동안
第一次동안 : ACC = 영업 이익 (0, 4) => OP (4,0) = 4-0 = 4이 목록 = (3,2,1)
第二次동안 : ACC OP = (4,3) => OP (3,4) = 3 4 = -1이 목록 = (2,1)
第三次동안 : ACC = OP (-1,2) => OP (2, -1) = 2 - (- 1) = 3이 = 목록 (1)
第四次동안 : ACC OP = (3,1) => OP (1,3) = 1-3 = -2 이러한 목록 = ()

================================================== =======================
이라고 배열 발 배열 = 배열 (1,2,3,4) ------> 본질적 객체는 방법을 적용

DEF 적용 (: INT, XS : X를 지능 *) 배열 [지능] = {
// 구축 대상 배열 빈 어레이의 길이와 일치
브로 배열 = 새로운 새로운 배열 [지능 (. + xs.length 1)
// 제 1 엘리먼트 파라미터 빈 배열 인덱스 0에 할당되는
배열 (0) = X
. I은 VAR = 1
에 대해 (X <- xs.iterator) {어레이 (I) = X + 1} = I.
/ / 배열. (1) (2) = I = 2
(2) =. 3. 3 = I 배열 //
// 어레이. (3). (4) = I =. 4
어레이 ---> 어레이 (1,2,3,4)
}

오기 스칼라 .collection.mutable._
어레이 (1,2,3,4) .MAP (_ + _)

오기 scala.collection.mutable.A
오기 scala.collection.mutable.B
오기 scala.collection.mutable.C
오기 스칼라. collection.mutable.D

추천

출처www.cnblogs.com/mediocreWorld/p/11361164.html