parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

G_Z 18.03.2016 19:40 / 18.03.2016 20:10

Требуется универсальный способ определения наличия метода у объекта.
$def(^reflection:method[$object;$method] is junction)
не работает если методы существуют в виде ссылок:
$self.foreach[^reflection:method[$self.data;foreach]]
$def(^reflection:is[$method;junction;$object])
не работает с нативными объектами так как ищет по полям,
$def($object.$method is junction)
не работает из-за приоритета полей над методами в 3.4.4.

Видимо, только комбинация:
$def(^reflection:is[$method;junction;$object] || ^reflection:method[$object;$method] is junction)