Properties: problems
John C
johnch_atms at hotmail.com
Wed Jul 29 02:49:02 PDT 2009
Here's a couple of annoying problems I encounter quite often with D's
properties. Would having some form of property syntax fix them?
1) Array extensions:
class Person {
string name_;
string name() {
return name_;
}
}
auto person = getPerson();
auto firstAndLast = person.name.split(' ');
The above line currently requires parentheses after 'name' to compile.
2) Indexing:
struct Map(K, V) {
void opIndexAssign(V value, K key) { ... }
V opIndex(K key) { ... }
}
class WebClient {
private Map!(string, string) headers_;
Map!(string, string) headers() {
return headers_;
}
}
auto client = new WebClient();
client.headers["User-Agent"] = "MyWebClient";
The compiler says client.headers() is not an lvalue (adding 'ref' in D2
changes nothing).
More information about the Digitalmars-d
mailing list