| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
moko 24.10 00:47 / 24.10 01:01
То есть, в таком классе явно не указан @BASE (что не вызывает ошибки компиляции)В моих примерах тоже не указан @BASE.
Насколько понимаю, цель в том, чтобы иметь подмешиваемые классы с «динамическим родителем».Ну он писал, "аналог механизма Трейтов". Mixin делает ровно требуемое. Но конкретно BASE использовать в подмешиваемых методах нельзя, надо получать базовый класс через reflection, $base[^reflection:base[$self]].
Тут помогла бы возможность переопределять или назначать базовый класс для подмешиваемых классов именно в момент подмешивания, a-la:Увы, но BASE заменяется в момент компиляции, так что такое сделать весьма проблематично.
^reflection:mixin[…;$.base[override]]'