On Friday, 23 November 2012 at 14:08:05 UTC, Jun wrote:
I found some codes writetoStringz(myString) as mystring.toStringz So I tested this code myself and it worked. int pow2(int i) { return i*i; } int myint = 5; int otherint = myint.pow2; assert(otherint == 25);
FYI, you could even do this: int otherint = 5.pow2;
I've never seen any documentation about this behaviour. I think it's a good feature, but I'm a bit confused.
It's called Universal Function Call Syntax (UFCS). The compiler essentially rewrites something.function to function(something), unless "something" is a struct or class with a method named "function", in which case it calls the method instead.
