2014-09-17 15 views
6

scan ve scanLeft arasındaki farklar nelerdir? Örneğin Scala'da tarama ve tarama arasındaki fark

,

(1 to 3).scan(10)(_-_) 
res: Vector(10, 9, 7, 4) 

(1 to 3).scanLeft(10)(_-_) 
res: Vector(10, 9, 7, 4) 

Temelde

(1 to 3).scanRight(10)(_-_) 
res: Vector(-8, 9, -7, 10) 

cevap

5
(1 to 3).par.scanLeft(10)(_-_) 
res: scala.collection.parallel.immutable.ParSeq[Int] = ParVector(10, 9, 7, 4) 

(1 to 3).par.scanRight(10)(_-_) 
res: scala.collection.parallel.immutable.ParSeq[Int] = ParVector(-8, 9, -7, 10) 

(1 to 3).par.scan(10)(_-_) 
res: scala.collection.parallel.immutable.ParSeq[Int] = ParVector(10, 9, -1, -4) 

aksine açıkça aynı sonucu teslim bunun geçilebilir uygulanmasına bağlıdır nasıl scan* (veya fold*) Idam edildi.