View mode: basic / threaded / horizontal-split · Log in · Help
January 17, 2003
Properties implemented in DLI?
Hi guys.  I'm playing with D at the moment, it's quite nice.  I'm 
checking out properties, ie..
class Mytest
{
	int tmp;
	
	void tp(int newTmp) { printf("assigning tmp\n"); tmp =newTmp;};
	int tp() { printf("getting tmp\n"); return tmp;};
}

but DLI gives me the following errors
test.d(48): Error: cannot implicitly convert int to void(int newTmp)
test.d(49): Error: cannot implicitly convert void(int newTmp) to int

Is this a problem in my code, lack of implementation in Walter's 
frontend or a missing section in DLI?
If it is a DLI issue could someone point me to a place to look to 
implement it?

Cheers
Brad
January 17, 2003
Re: Properties implemented in DLI?
Does your class really look like that?
haven't you forgotten a little thing?
did you try to compile the piece you're sending?
here the identifiers simply don't match. i've marked them below.

Brad Beveridge wrote:
> Hi guys.  I'm playing with D at the moment, it's quite nice.  I'm 
> checking out properties, ie..
> class Mytest
> {
>     int tmp;
         ^^^tmp!!!
>     
>     void tp(int newTmp) { printf("assigning tmp\n"); tmp =newTmp;};
>     int tp() { printf("getting tmp\n"); return tmp;};
          ^^ tp!!!
> }



> 
> but DLI gives me the following errors
> test.d(48): Error: cannot implicitly convert int to void(int newTmp)
> test.d(49): Error: cannot implicitly convert void(int newTmp) to int
> 
> Is this a problem in my code, lack of implementation in Walter's 
> frontend or a missing section in DLI?
> If it is a DLI issue could someone point me to a place to look to 
> implement it?
> 
> Cheers
> Brad
>
January 17, 2003
Re: Properties implemented in DLI?
Brad Beveridge wrote:
> Hi guys.  I'm playing with D at the moment, it's quite nice.  I'm 
> checking out properties, ie..
> class Mytest
> {
>     int tmp;
>     
>     void tp(int newTmp) { printf("assigning tmp\n"); tmp =newTmp;};
>     int tp() { printf("getting tmp\n"); return tmp;};
> }
> 
> but DLI gives me the following errors
> test.d(48): Error: cannot implicitly convert int to void(int newTmp)
> test.d(49): Error: cannot implicitly convert void(int newTmp) to int

Properties support is in the very latest version 
(http://www.opend.org/dli/arc/dli-0.1.2.tar.gz).  I see that the menu 
bar on OpenD is still linking to 0.1.1, I'll have to fix that.
January 17, 2003
Re: Properties implemented in DLI?
That's what I originally thought too, but according to the sample code 
in the D spec...

class Abc
	{	int myprop;
		void property(int newproperty) { myprop = newproperty; } // set'er
		int property() { return myprop; }	// get'er
	}

Personally I'd like to keep the property & it's setters/getters similar, 
but still different.  If they're difference then I can more clearly know 
what I am trying to do - ie am I try to access the var directly, or 
though the property methods - I don't want the variable to exactly 
shadow the getters/settors.

I suspect I will take a code style where my internal variables that are 
accessed through setters/getters have some kind of pre or postfix - ie
_property or somesuch.


Cheers
Brad


Ilya Minkov wrote:
> Does your class really look like that?
> haven't you forgotten a little thing?
> did you try to compile the piece you're sending?
> here the identifiers simply don't match. i've marked them below.
> 
> Brad Beveridge wrote:
> 
>> Hi guys.  I'm playing with D at the moment, it's quite nice.  I'm 
>> checking out properties, ie..
>> class Mytest
>> {
>>     int tmp;
> 
>          ^^^tmp!!!
> 
>>         void tp(int newTmp) { printf("assigning tmp\n"); tmp =newTmp;};
>>     int tp() { printf("getting tmp\n"); return tmp;};
> 
>           ^^ tp!!!
> 
>> }
> 
> 
> 
> 
>>
>> but DLI gives me the following errors
>> test.d(48): Error: cannot implicitly convert int to void(int newTmp)
>> test.d(49): Error: cannot implicitly convert void(int newTmp) to int
>>
>> Is this a problem in my code, lack of implementation in Walter's 
>> frontend or a missing section in DLI?
>> If it is a DLI issue could someone point me to a place to look to 
>> implement it?
>>
>> Cheers
>> Brad
>>
>
January 17, 2003
Re: Properties implemented in DLI?
Thanks, grabbing it now..

Burton Radons wrote:
> 
> 
> Brad Beveridge wrote:
> 
>> Hi guys.  I'm playing with D at the moment, it's quite nice.  I'm 
>> checking out properties, ie..
>> class Mytest
>> {
>>     int tmp;
>>         void tp(int newTmp) { printf("assigning tmp\n"); tmp =newTmp;};
>>     int tp() { printf("getting tmp\n"); return tmp;};
>> }
>>
>> but DLI gives me the following errors
>> test.d(48): Error: cannot implicitly convert int to void(int newTmp)
>> test.d(49): Error: cannot implicitly convert void(int newTmp) to int
> 
> 
> Properties support is in the very latest version 
> (http://www.opend.org/dli/arc/dli-0.1.2.tar.gz).  I see that the menu 
> bar on OpenD is still linking to 0.1.1, I'll have to fix that.
>
January 17, 2003
Re: Properties implemented in DLI?
Brad Beveridge wrote:
> That's what I originally thought too, but according to the sample code 
> in the D spec...
> 
> class Abc
>     {    int myprop;
>         void property(int newproperty) { myprop = newproperty; } // set'er
>         int property() { return myprop; }    // get'er
>     }


Damnit, i was looking at the very same piece of code in the manual, and 
didn't notice the identifiers here are different too... I guess i need 
to force myself to sleep more. sorry for misleading.


> 
> Personally I'd like to keep the property & it's setters/getters similar, 
> but still different.  If they're difference then I can more clearly know 
> what I am trying to do - ie am I try to access the var directly, or 
> though the property methods - I don't want the variable to exactly 
> shadow the getters/settors.
> 
> I suspect I will take a code style where my internal variables that are 
> accessed through setters/getters have some kind of pre or postfix - ie
> _property or somesuch.
> 
> 
> Cheers
> Brad
> 
> 
> Ilya Minkov wrote:
> 
>> Does your class really look like that?
>> haven't you forgotten a little thing?
>> did you try to compile the piece you're sending?
>> here the identifiers simply don't match. i've marked them below.
>>
>> Brad Beveridge wrote:
>>
>>> Hi guys.  I'm playing with D at the moment, it's quite nice.  I'm 
>>> checking out properties, ie..
>>> class Mytest
>>> {
>>>     int tmp;
>>
>>
>>          ^^^tmp!!!
>>
>>>         void tp(int newTmp) { printf("assigning tmp\n"); tmp =newTmp;};
>>>     int tp() { printf("getting tmp\n"); return tmp;};
>>
>>
>>           ^^ tp!!!
>>
>>> }
>>
>>
>>
>>
>>
>>>
>>> but DLI gives me the following errors
>>> test.d(48): Error: cannot implicitly convert int to void(int newTmp)
>>> test.d(49): Error: cannot implicitly convert void(int newTmp) to int
>>>
>>> Is this a problem in my code, lack of implementation in Walter's 
>>> frontend or a missing section in DLI?
>>> If it is a DLI issue could someone point me to a place to look to 
>>> implement it?
>>>
>>> Cheers
>>> Brad
>>>
>>
>
Top | Discussion index | About this forum | D home