February 2018
Intermediate to advanced
552 pages
13h 46m
English
Suppose we have a code like this to merge two data streams of the same type:
scala> val list1 = List(1,24) list1: List[Int] = List(1, 24) scala> val list1 = List(1,2,4) list1: List[Int] = List(1, 2, 4) scala> val list2 = List(3,5) list2: List[Int] = List(3, 5) scala> list1 ++ list2 res0: List[Int] = List(1, 2, 4, 3, 5)
Alternatively, we have a user-defined function, merge(), as shown here:
scala> def merge[A](list1:List[A], list2:List[A]): List[A] = list1 ++ list2 merge: [A](list1: List[A], list2: List[A])List[A] scala> merge(list1,list2) res1: List[Int] = List(1, 2, 4, 3, 5)
If we want to represent this merge() function's Marble diagram, we can do so as follows:
Here, Input Data Stream1 is list1 ...