Scala – Reduce, fold or scan (Left/Right)




// Scala - Reduce, fold or scan (Left/Right)
//reduceLeft, reduceRight, foldLeft, foldRight, scanLeft, scanRight
object Demo {
  val lst = List(1, 2, 3, 5, 7, 10, 13);
  val lst2 = List("A", "B", "C");
	def main(args: Array[String]) {
	  println(lst.reduceLeft(_ + _));
	  println(lst2.reduceLeft(_ + _));
	  println(lst.reduceLeft((x,y) => {println(x + " , "+ y); x+y;}));
	  
	  println(lst.reduceLeft(_ - _));
	  println(lst.reduceRight(_ - _));
	  println(lst.reduceRight((x,y) => {println(x + " , "+ y); x-y;}));
	  
	  
	  println(lst.foldLeft(100)(_ + _));
	  println(lst2.foldLeft("z")(_ + _));
	  
	  
	  println(lst.scanLeft(100)(_ + _));
	  println(lst2.scanLeft("z")(_ + _));

	}
}

 


Partner Sites

VideoToGifs.com

EasyOnlineConverter.com

SqliteTutorials.com





Be the first to comment

Leave a Reply

Your email address will not be published.


*