Hello,

My map function will call the following function (inc) which should yield
multiple values:


def inc(x:Int, y:Int)
  ={
  if(condition)
  {
   for(i <- 0 to 7)  yield(x, y+i)
  }

  else
  {
  for(k <- 0 to 24-y)  yield(x, y+k)
  for(j<- 0 to y-16) yield(x+1,j)

  }
  }

The "if" part  works fine, but in the else part , if should return 2 sets
of values (from the first for loop and then from the second for loop). But,
only the values from second for loop (within else) are returned by the
function.

I tried alternative ways but I am unable to make the above function give me
the expected result.

Can someone help me understand how yield works, and what should be used in
place of yield to return multiple values when two for loops have to be
used.(like the test case in within else condition)  - If it was in JAVA or
C, we could simply store the values in an array or a list and return the
same but I'm still not clear how it works in Scala/Spark.

Thank you for your time.

-- 
Regards,
Haripriya Ayyalasomayajula
Graduate Student
Department of Computer Science
University of Houston
Contact : 650-796-7112

Reply via email to