Re: Question on Spark code

2017-07-23 Thread tao zhan
Get it, thank you! On Mon, Jul 24, 2017 at 11:50 AM, Reynold Xin wrote: > This is a standard practice used for chaining, to support > > a.setStepSize(..) > .set setRegParam(...) > > > On Sun, Jul 23, 2017 at 8:47 PM, tao zhan wrote: > >> Thank you for replying. >> But I do not get it complete

Re: Question on Spark code

2017-07-23 Thread Reynold Xin
This is a standard practice used for chaining, to support a.setStepSize(..) .set setRegParam(...) On Sun, Jul 23, 2017 at 8:47 PM, tao zhan wrote: > Thank you for replying. > But I do not get it completely, why does the "this.type“” necessary? > why could not it be like: > > def setStepSize(

Re: Question on Spark code

2017-07-23 Thread tao zhan
Thank you for replying. But I do not get it completely, why does the "this.type“” necessary? why could not it be like: def setStepSize(step: Double): Unit = { require(step > 0, s"Initial step size must be positive but got ${step}") this.stepSize = step } On Mon, Jul 24, 2017 at 11:2

Re: Question on Spark code

2017-07-23 Thread M . Muvaffak ONUŞ
Doesn't it mean the return type will be type of "this" class. So, it doesn't have to be this instance of the class but it has to be type of this instance of the class. When you have a stack of inheritance and call that function, it will return the same type with the level that you called it. On Su

Re: Question on Spark code

2017-07-23 Thread Reynold Xin
It means the same object ("this") is returned. On Sun, Jul 23, 2017 at 8:16 PM, tao zhan wrote: > Hello, > > I am new to scala and spark. > What does the "this.type" in set function for? > > > ​ > https://github.com/apache/spark/blob/481f0792944d9a77f0fe8b5e2596da > 1d600b9d0a/mllib/src/main/sca

Question on Spark code

2017-07-23 Thread tao zhan
Hello, I am new to scala and spark. What does the "this.type" in set function for? ​ https://github.com/apache/spark/blob/481f0792944d9a77f0fe8b5e2596da1d600b9d0a/mllib/src/main/scala/org/apache/spark/mllib/optimization/GradientDescent.scala#L48 Thanks! Zhan