Значения типов float и integer являются частным случаем значения типа symbol. Другими словами, они удовлетворяют всем ограничениям, налагаемым на значение типа symbol.
Ниже приведены несколько примеров значений типа symbol:
Пример 1.2.2. Допустимые значения типа symbol
foo Hello B76-HI bad_value
127A 456-93-039 @+=-% 2each
Значение типа, string представляет собой строку символов, заключенную в двойные кавычки. Символ двойных кавычек также может быть включен в строку. Для этого перед символом " необходимо поставить символ обратной косой черты (\). Для включения в строку символа обратной косой черты необходимо использовать два последовательных символа \. Примеры допустимых значений string приведены ниже:
Пример 1.2.3. Допустимые значения типа string
"foo" "a and b" "1 number" "a\”quote"
Замечание
Значение "abcd" типа string не эквивалентно значению abcd типа symbol. Несмотря на то, что они состоят из идентичных символов, они относятся к разным типам.
Место для хранения значения одного из примитивных типов в CLIPS называется полем или простым полем. Константа представляет собой неизменяемое простое поле, заданное последовательностью символов (с помощью констант нельзя задавать значения типов external-address, fact-address и instance-address — значения этих типов могут быть получены только с помощью вызовов соответствующих функций и должны храниться в переменных). Последовательность из 0 или более простых полей образует составное поле. Для вывода составного поля на экран CLIPS группирует данные такого поля с помощью круглых скобок. Несколько примеров составных полей приведено ниже:
Пример 1.2.4. Составные поля
(a) (1 bar foo) () (х 3.0 "red" 567)
Замечание
Составное поле (а) не эквивалентно простому полю а.
Составные значения создаются либо вызовом функций, возвращающих составные значения, либо с помощью специального группового аргумента в конструкторах функций, методов или обработчиков сообщений, либо в результате выполнения процесса сопоставления образцов в правилах.
Переменной является значение некоторого типа, сохраненное в простом или составном поле и имеющее некоторое имя. Переменные используются В конструкторах CLIPS (в частности в defrule, deffunction, defmethod и defmessage-handier).