В интерпретаторе используются следующие типы данных: символьный, числовой, логический, дата, массив, блок кода, ссылка на объект или участок памяти, Nil.
Массив – тип данных, включающий в себя данные различных типов:
Создание массивов
Пример
LOCAL a:={1,2,3},b:={1,{2,3}}
Обращение к элементу массива (индексы массивов начинаются от 1)
Пример
a[1]
b[2,1]
Перебор элементов массива
Имеется группа функций работы с массивами полностью совпадающая с функциями в языке «CLIPPER»:
AADD( ), ACLONE( ), AEVAL(), ARRAY(), ASIZE(),AADD(),AINS(),ADEL(),ASORT(),...
Особым типом данных являются, так называемые «блоки кода». Блоки кода позволяют рассматривать компилированный код, как данные.
Подобно другим типам данных, блоки кода могут быть присвоены переменным, переданы как аргументы и возвращены, как значения функций. По мере необходимости блок кода может быть вычислен и возвращен результат.
В блоке кода могут быть описаны параметры, которые подобны формальным параметрам функций и получают значения каждый раз, когда блок кода вычисляется.
Синтаксис:
{|список параметров|выражения} // создание блока кода
var:={|список параметров|выражения} // создание блока кода и присвоение его переменной
Eval(Var,1,'2') // вычисление блока кода с передачей ему 2-х параметров.