method chaining

spir denis.spir at gmail.com
Mon Nov 8 11:39:43 PST 2010


Hello,

I don't understand why the compiler refuses the code below, with the error
__trials__.d(33): found '.' when expecting ';' following statement
(Note that method set returns this.)

class C {
    int i,j;
    this (int i) {
        this.i = i;
    }
    C set (int j) {
        this.j = j;
        return this;
    }
    override string toString () {
        return format("C(%s,%s)", i,j);
    }
}

void main () {
    c = new C(1).set(3);	///////
    writeln(c);
}

Well, the example is somewhat artificial, but this idiom is highly useful.


Denis
-- -- -- -- -- -- --
vit esse estrany ☣

spir.wikidot.com



More information about the Digitalmars-d-learn mailing list