Здравствуйте, FR, Вы писали:
FR>Здравствуйте, naryl, Вы писали:
N>>opDot перекрылся уже alias this (перенаправление вызовов неопределённых методов другому объекту. Иными словами, наследование методом делегирования, как в snit). opDispatch — новая фича.
FR>Угу в D уже многовато способов сделать одно и тоже
opDot убрали. alias this и opDispatch — концептуально разные фичи и применяются в разных задачах.
N>>opDispatch — шаблонный метод. Если он объявлен в классе или структуре, то, при вызове отсутствующего в классе метода, имя функции и все аргументы (в соответствии с сигнатурой. Либо tuple'ом, либо фиксированными аргументами) будут переданы в opDispatch. Незаменимая штука в некоторых случаях. Например, с помощью этой штуки можно реализовать класс, который будет все вызываемые у него методы... преобразовывать в удалённые Xml-Rpc вызовы.
FR>Там много применений можно придумать, в динамических языках (питон, руби) давно такой механизм существует. Вот только пора бы уже и остановится с добавлением фич.
Если подумать, то пора, но, например, opDispatch как-раз для Xml-Rpc очень бы пригодился... Если бы начальство не сказало мне (единственному разработчику внутреннего проекта) "надо на C++".