| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Sumo 06.10.2015 16:15 / 06.10.2015 16:16
Я как-то даже тикет заводил в парсеровском Редмайне. Например:@CLASS myHash @IMPLEMENTS hash .... @foreach[key;value;code;separator] ...И потом:
$o[^myHash::create[]]
^if($myHash is hash){
^myHash.foreach[k;v]{
...
}
}Мы декларируем совместимость с каким-то классом, а потом можем проверить его совместимость через is. Т.е. is будет проверять не класс, а интерфейс. $o[^my::create[]]
^mix3:include_mixin[$o]
^reflection:implements[$o;mix3] <- это можно сделать и в методе include_mixins
^if($0 is mix3){...}Тогда у нас появляется почти множественное наследование и интерфейсы. :)