Readonly field for class type
Seb
seb at wilzba.ch
Thu Mar 15 13:44:20 UTC 2018
On Thursday, 15 March 2018 at 10:57:52 UTC, Mike Parker wrote:
> On Thursday, 15 March 2018 at 10:55:16 UTC, Mike Parker wrote:
>
>>
>> class A {
>> private int _value = 12;
>>
>> int value() @property { return _value; }
>> void updateValue() { value = 13; }
>> }
>>
>> ...
>> auto a = new A();
>> writeln(a.value);
>> a.updateValue();
>> writeln(a.value);
>
> Sorry. I overlooked that B.a is const.
It still works, the `value` just needs to be `const` (or `inout`)
and _value needs to be used in updateValue:
class A {
private int _value = 12;
int value() const { return _value; }
void updateValue() { _value = 13; }
}
auto a = new A();
writeln(a.value);
a.updateValue();
writeln(a.value);
In action: https://run.dlang.io/is/Tk1rY1
@Robert: If you need this a lot, the accessors package might be
interesting to you:
https://code.dlang.org/packages/accessors
More information about the Digitalmars-d-learn
mailing list