August 05, 2021 Re: __traits() to get parameter details only ? ... hasMember looks up everything within | ||||
---|---|---|---|---|
| ||||
Posted in reply to someone | On 8/4/21 7:21 PM, someone wrote: > somewhere I read > Ali saying there's nothing wrong implementing properties the old-way via > functions because @property has nothing special about it but I can't > state where I read what I am stating so take it with a grain of salt. As I understand it, @property is discouraged by the community. That's what I say here: http://ddili.org/ders/d.en/property.html#ix_property.@property Quoting the whole section: <quote> @property Property functions may be defined with the @property attribute as well. However, as a best practice, the use of this attribute is discouraged. import std.stdio; struct Foo { @property int a() const { return 42; } int b() const { // ← Defined without @property return 42; } } void main() { auto f = Foo(); writeln(typeof(f.a).stringof); writeln(typeof(f.b).stringof); } The only effect of the @property attribute is when determining the type of an expression that could syntactically be a property function call. As seen in the output below, the types of the expressions f.a and f.b are different: int ← The type of the expression f.a (the return type) const int() ← The type of the member function Foo.b </quote> Ali P.S. I found that section by searching for "property" on the Index page: http://ddili.org/ders/d.en/ix.html The Index page is linked from the title page (aka index.html) as "The Index Section". (Too many indexes! :) ) http://ddili.org/ders/d.en/index.html |
August 05, 2021 Re: __traits() to get parameter details only ? ... hasMember looks up everything within | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ali Çehreli | On Thursday, 5 August 2021 at 15:23:24 UTC, Ali Çehreli wrote:
> As I understand it, @property is discouraged by the community. That's what I say here:
>
> http://ddili.org/ders/d.en/property.html#ix_property.@property
I knew I have read it somewhere ... thanks for the clarification Ali !
|
Copyright © 1999-2021 by the D Language Foundation