С.С. Магазов, Д.О. Чугунов
4
Запись
param=var
или
param=const
означает, что входному па-
раметру
param
присваивается значение переменной или константы;
запись
var=param
означает присваивание значения выходного пара-
метра
param
переменной. Кроме того, синтаксис точечного оператора
предусматривает запись сравнений:
param==var
означает равенство
параметра и значения переменной, а
param==const
– равенство пара-
метра и константы. Параметры
var
и
const
называются неименован-
ными.
Порядок именованных параметров в операторе не имеет значе-
ния. В результате исполнения оператор может принимать значение
истина
или
ложь.
При этом выходные параметры принимают значе-
ния базовых типов.
Выполнение точечного оператора начинается с присвоения зна-
чений всем входным параметрам. Затем возможны два случая:
1) при заданных значениях входных параметров оператор не мо-
жет быть вычислен, тогда значения переменных не изменяются, и
оператор ложен;
2) если исполнение оператора возможно, формируются значения
выходных параметров и проверяются сравнения. Если все сравнения
истинны, оператор истинен и изменяются значения переменных в
выражениях вида
var=param
, иначе оператор ложен и значения пе-
ременных не изменяются.
Далее рассмотрим точечные операторы Split, Exist Print, isNull,
nWord, vWord, aWord, Preposition, предназначенные для обработки
списков, строк и текстовой информации. Отметим, что в программ-
ной реализации XLog предусмотрен механизм, позволяющий неогра-
ниченно расширять набор операторов.
Оператор
Split
разбивает строку на части по разделителю и имеет
входные параметры
str
,
delim
, задающие разбиваемую строку и раз-
делитель соответственно, и выходной параметр
val
, в котором воз-
вращается вычисляемый оператором список подстрок.
Пример 2.
Разбиение текста на предложения:
Split.str='Мама мыла раму. Раму мыла мама.'.
delim
='.'.$X =
val
Оператор
Exist
возвращает
true
, если набор, задаваемый путем,
не пуст. В противном случае он возвращает
false
. Операция имеет
единственный входной неименованный параметр, указывающий
путь.
Пример 3.
Пусть переменная $X определяет список элементов
<a>Element1</a>, <a>Element2</a>, тогда выражение exist.$X\b будет
ложным, а выражение exist.$X\* – истинным.
Оператор
Print
возвращает всегда
true.
Print имеет произвольный
набор неименованных параметров, которые могут быть переменными
или константами. Оператор выдает на печать содержимое перемен-
ных в виде строк.