Это может быть недопустимый синтаксис, основанный на реализации MUMPS.Например, Intersystem Cache сгенерирует синтаксическую ошибку, поскольку второй параметр, переданный в функцию piece, пуст.
Функция $P
или $PIECE(str, delim, num)
вернет num -th-й сегмент str при разделении на delim .Итак, p("a^b^c","^",2)
возвращает «b».Когда delim является пустой строкой, $P
возвратит пустую строку.Однако может быть разница между передачей ничего и пустой строкой.
S A=$P(P,,2)
говорит, что для переменной A необходимо указать значение, возвращаемое функцией piece.
Наконец, I S
, говорит, что если значение переменной S равно true, продолжайте выполнение оставшейся части этой строки.Команда I
или IF
также имеет побочный эффект установки переменной $T
в 1, если выражение истинно, или в 0, если выражение ложно.Это важно, если за вашей строкой кода следует оператор else, который использует $T
, чтобы определить, вернул ли предыдущий оператор if ложь.