Ответ 1
Просто хочу указать, что синтаксис Uniform Function Call Syncax был реализован.
Есть хорошая статья доктора Доббса об этом: Равномерный синтаксис вызова функции для доктора Доббса
Я купил "язык программирования D" некоторое время назад. Отличная книга, очень воспитательная. Однако у меня возникли проблемы с попыткой компиляции языковой функции, указанной в книге: Функции расширения.
В книге Андрей пишет, что любая функция (a, b) может быть вызвана, например: a.функция (b); Поэтому я должен быть в состоянии сделать это:
struct Person {
string name;
}
void foo(Person person, string name) {
person.name = name;
}
void main() {
auto bob = Person();
bob.foo("Bob Dole"); // ERROR: Person does not have method 'foo'
}
Правильно? Эта функция еще не реализована, или я просто что-то пропустил? Я замечаю, что импорт std.range добавляет методы в массивы, поэтому он кажется реализованным на некотором уровне.
Просто хочу указать, что синтаксис Uniform Function Call Syncax был реализован.
Есть хорошая статья доктора Доббса об этом: Равномерный синтаксис вызова функции для доктора Доббса
Я так понимаю, что вы говорите о "членах Psuedo", о которых говорится в разделе 5.9.1. В настоящее время эта функция реализована только для массивов, хотя это запланированная функция. В сообществе D вы также увидите, что он называется "Унифицированный синтаксис вызова функции".
Здесь отчет об ошибке, который будет закрыт при реализации этой функции: Проблема 3382