On 25/10/2017 11:19 PM, Walter Bright wrote:
for core D devs.

"How Non-Member Functions Improve Encapsulation" by Scott Meyers

http://www.drdobbs.com/cpp/how-non-member-functions-improve-encapsu/184401197

Note that I'm as guilty as anyone for not understanding or following these guidelines. I expect we can do much better.

UFCS kills off a good part of those arguments, but point still stands.

```D
struct Point {
        private int[2] d;

        this(int x, int y) {
                d[0] = x;
                d[1] = y;
        }
        
        @property {
                ref int x() { return d[0]; }
                ref int y() { return d[1]; }
        }
}

void main() {
        Point p = Point(1, 3);
        p.y = 2;
}
```


Hehe ;)

Reply via email to