Benji Smith wrote:
Denis Koroskin wrote:
Stdout("Hello, World!").newline.newline.newline;
Ugh. This is one of the few things about Tango that really drives me
nuts. I hate all the usage of the opCall overload and non-parenthetized
function calls.
At first glance, that code doesn't make any sense to me. My brain just
doesn't grok what's going on. It takes me a split second to mentally
parse it.
Another thing about omissable parenthesis and function calls. When you
define an opCall, to use it you must write "()". That implies that to
call a function you must write "()". So not writing "()" should imply a
function call!
--
import std.stdio;
struct Bar {
Foo foo;
}
struct Foo {
int opCall() {
return 1;
}
}
void main() {
Bar bar;
writefln("%s", bar.foo); // prints Foo
writefln("%s", bar.foo()); // prints 1
}
--
Isn't that an inconsistency?