Re: is there "this"?
On Thursday, 3 November 2016 at 13:40:11 UTC, Steven Schveighoffer wrote: On 11/2/16 4:43 AM, Jonathan M Davis via Digitalmars-d-learn In the case of the original post, however, you *need* to use this.value, as the parameter masks the member of the same name. Using 'this' removes ambiguity. This is a typical pattern seen in many languages. Often the intuitive name of a member is the same name as you want for the parameter of the constructor. -Steve I'd like to use "this" because when I see something like "this.pumpurum = 10;" then I understand that "pumpurum" is property of class and not some local variable :)
Re: is there "this"?
On Thursday, November 03, 2016 09:40:11 Steven Schveighoffer via Digitalmars-d-learn wrote: > On 11/2/16 4:43 AM, Jonathan M Davis via Digitalmars-d-learn wrote: > > On Wednesday, November 02, 2016 02:42:01 Konstantin Kutsevalov via > > > > Digitalmars-d-learn wrote: > >> I tested already and it really works, thank you. > >> I asked that because I tried once to use "this" in past but I got > >> error. So I asked on some forum "how to get property of class?" > >> and peoples said that I may use just a name of property. So I > >> thought that there isn't "this" word. > > > > I don't know why you were having trouble before, but I think that most > > people never use an explicit this unless they need to, so plenty of > > folks > > would have just told you to remove the this from you code, especially if > > it worked without. > > In the case of the original post, however, you *need* to use this.value, > as the parameter masks the member of the same name. Using 'this' removes > ambiguity. > > This is a typical pattern seen in many languages. Often the intuitive > name of a member is the same name as you want for the parameter of the > constructor. Yeah. That's the only reason that I ever use the this pointer/reference. - Jonathan M Davis
Re: is there "this"?
On 11/2/16 4:43 AM, Jonathan M Davis via Digitalmars-d-learn wrote: On Wednesday, November 02, 2016 02:42:01 Konstantin Kutsevalov via Digitalmars-d-learn wrote: I tested already and it really works, thank you. I asked that because I tried once to use "this" in past but I got error. So I asked on some forum "how to get property of class?" and peoples said that I may use just a name of property. So I thought that there isn't "this" word. I don't know why you were having trouble before, but I think that most people never use an explicit this unless they need to, so plenty of folks would have just told you to remove the this from you code, especially if it worked without. In the case of the original post, however, you *need* to use this.value, as the parameter masks the member of the same name. Using 'this' removes ambiguity. This is a typical pattern seen in many languages. Often the intuitive name of a member is the same name as you want for the parameter of the constructor. -Steve
Re: is there "this"?
On Wednesday, November 02, 2016 02:42:01 Konstantin Kutsevalov via Digitalmars-d-learn wrote: > I tested already and it really works, thank you. > I asked that because I tried once to use "this" in past but I got > error. So I asked on some forum "how to get property of class?" > and peoples said that I may use just a name of property. So I > thought that there isn't "this" word. I don't know why you were having trouble before, but I think that most people never use an explicit this unless they need to, so plenty of folks would have just told you to remove the this from you code, especially if it worked without. - Jonathan M Davis
Re: is there "this"?
On Wednesday, November 02, 2016 07:26:57 Bauss via Digitalmars-d-learn wrote: > Well "this" in D has different meanings as it depends on its > context sometimes. Yes, but it's almost always the same thing that you'd expect from a language like C++ or Java. - Jonathan M Davis
Re: is there "this"?
On Wednesday, 2 November 2016 at 02:42:01 UTC, Konstantin Kutsevalov wrote: On Wednesday, 2 November 2016 at 02:33:10 UTC, Konstantin Kutsevalov wrote: On Wednesday, 2 November 2016 at 02:20:43 UTC, rikki cattermole wrote: On 02/11/2016 3:17 PM, Konstantin Kutsevalov wrote: [...] You forgot an int in the arguments but otherwise that would work fine with your line uncommented. yes I missed "int", but it's just an example. so if I'll write "this.property = value" it will work? I tested already and it really works, thank you. I asked that because I tried once to use "this" in past but I got error. So I asked on some forum "how to get property of class?" and peoples said that I may use just a name of property. So I thought that there isn't "this" word. Well "this" in D has different meanings as it depends on its context sometimes.
Re: is there "this"?
On Wednesday, 2 November 2016 at 02:33:10 UTC, Konstantin Kutsevalov wrote: On Wednesday, 2 November 2016 at 02:20:43 UTC, rikki cattermole wrote: On 02/11/2016 3:17 PM, Konstantin Kutsevalov wrote: The question is simple. Is there something like "this" word for classes? For example: ``` class CLS { int numberValue; public this(numberValue) { // how can I put the local numberValue to class property? // in some prog language I can do like: // this.numberValue = numberValue; } } ``` You forgot an int in the arguments but otherwise that would work fine with your line uncommented. yes I missed "int", but it's just an example. so if I'll write "this.property = value" it will work? I tested already and it really works, thank you. I asked that because I tried once to use "this" in past but I got error. So I asked on some forum "how to get property of class?" and peoples said that I may use just a name of property. So I thought that there isn't "this" word.
Re: is there "this"?
On Wednesday, 2 November 2016 at 02:20:43 UTC, rikki cattermole wrote: On 02/11/2016 3:17 PM, Konstantin Kutsevalov wrote: The question is simple. Is there something like "this" word for classes? For example: ``` class CLS { int numberValue; public this(numberValue) { // how can I put the local numberValue to class property? // in some prog language I can do like: // this.numberValue = numberValue; } } ``` You forgot an int in the arguments but otherwise that would work fine with your line uncommented. yes I missed "int", but it's just an example. so if I'll write "this.property = value" it will work?
Re: is there "this"?
On 02/11/2016 3:17 PM, Konstantin Kutsevalov wrote: The question is simple. Is there something like "this" word for classes? For example: ``` class CLS { int numberValue; public this(numberValue) { // how can I put the local numberValue to class property? // in some prog language I can do like: // this.numberValue = numberValue; } } ``` You forgot an int in the arguments but otherwise that would work fine with your line uncommented.
is there "this"?
The question is simple. Is there something like "this" word for classes? For example: ``` class CLS { int numberValue; public this(numberValue) { // how can I put the local numberValue to class property? // in some prog language I can do like: // this.numberValue = numberValue; } } ```