On Friday, 24 August 2012 at 05:14:39 UTC, F i L wrote:
We replace it with special factory functions. Example:

    class Person {
      string name;
      uint age;

      this new(string n, uint a) {
        name = n;
        age = a;
      }
    }

    void main() {
      auto philip = Person.new("Philip", 24);
    }

Notice 'new()' returns type 'this', which makes it static and implicitly calls allocation methods (which could be overridden) and has a 'this' reference.


The constructor definition syntax doesn't seem to be an improvement: this new instead of the old this.

The constructor calling syntax is actually something I've thought of before. I think Class.new is better than new Class, simply because it's more succinct when chaining:

Class.new().method() vs. (new Class()).method()

NMS

Reply via email to