Что означает I $E(R%%,I%%)>1
? а зачем использовать %%
?
запрос свинки, связанный с %%
Ответы (2)
На самом деле, если вы говорите о стандартной MUMPS (а не о какой-либо конкретной реализации), R%% является недопустимым синтаксисом. Я видел нестандартное использование % в расширениях MUMPS, таких как EsiObjects или InterSystems Cache Object Script, но использование в вопросе выше на самом деле бессмысленно в стандартном MUMPS.
%% не имеет особого значения. Это просто часть имени переменной, и я до сих пор не понимаю одержимости сообщества MUMPS использованием % в именах переменных и тем, что они делают их более неясными.
поэтому оператор означает IF $EXTRACT(R%%,I%%)>1
, т.е. если извлеченное значение из строки R%%
в позиции I%%
больше 1, сделайте еще несколько неясных вещей.
$EXTRACT(string,from) извлекает одиночный символ в позиции, заданной параметром from. Значение from может быть целым числом от начала строки, звездочкой, указывающей последний символ строки, или звездочкой с отрицательным целым числом, указывающим количество в обратном порядке от конца строки.
Ссылка на документацию: http://docs.intersystems.com/cache20102/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_fextract