^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
}