^reflection:is[имя элемента;тип]
^reflection:is[имя элемента;тип;контекст]
Возвращает результат "истина/ложь" в зависимости от того, относится ли элемент с указанным именем к заданному типу.
Расширяет функциональность оператора is, позволяя проверить, является ли параметр кодом. Для проверки, является ли
параметр кодом (передается в фигурных или круглых скобках) нужно указать в качестве типа специальное значение code.
Для проверки, является ли параметр ссылкой на метод нужно указать в качестве типа специальное значение method.
По умолчанию контекстом является контекст вызова метода is. Если метод принимает неопределенное число параметров,
в качестве контекста необходимо указать переменную, в которой они переданы.
Проверка типа параметра
@main[]
^method[string]
^method{code}
^method[$method]
^another-method[$method]
@method[param]
^if(^reflection:is[param;junction]){
Param is ^if(^reflection:is[param;code]){code}{method reference}
}{
Param is not code or method reference
}
@another-method[*params]
^if(^reflection:is[0;method;$params]){
First param is method reference
}