is. Проверка типа   [3.4.4]

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



In order to add comments you must register.
Copyright © 1997–2017 Art. Lebedev Studio | http://www.artlebedev.ru Дата обновления: 21.07.2016