- •Основы
- •Элементарные типы данных
- •Некоторым аналогом (по виду, но не по смыслу) объявления переменных внутри процедуры или
- •Пример
- •Имена переменных
- •Команды создания локальных
- •Используемые в Caché простые типы данных
- •Конкатенация строк
- •Числа
- •Булевы величины
- •Даты
- •Оператор косвенности
- •"Визитная карточка" оператора косвенности – символ @.
- •Косвенное имя
- •В следующем примере значение B полагается равным шести:
- •Косвенный аргумент
- •В следующем примере вторая команда set иллюстрирует косвенное имя (@a – только часть
- •Косвенный индекс
- •Пример
- •Списки и массивы
- •Списки
- •Библиотечный класс Caché %AbstractList,
- •Существуют и другие методы, с которыми можно ознакомиться в справочнике классов Caché. Заметим,
- •Массивы
- •Библиотечный класс Caché %AbstractArray,
- •Пример обработки массива:
- •Обработка ошибок
- •Рассмотрим следующую ситуацию. На html-
- •РЕШЕНИЕ ПРОБЛЕМЫ
- •После локализации мы заполняем ее
- •Многомерные массивы и глобалы
- •Глобалы позволяют хранить произвольную информацию, выстроенную в иерархию любой сложности.
После локализации мы заполняем ее |
следующим кодом обработки ошибки, |
который перепишем в полностью |
эквивалентном, но более |
структурированном виде: |
if $FIND($ZERROR, "ENDOFFILE")'=0 |
{ |
use p |
set $ECODE="" close myfile |
write "</select>", ! GOTO metka1 |
} |
Многомерные массивы и глобалы
Многомерные массивы получили название глобалов, чтобы подчеркнуть, что они относятся не к какому-то отдельному приложению, а ко всей базе данных.
Все имена глобалов начинаются с символа ‘^’. Наличие этого символа означает, что речь идет о многомерном массиве, имеющем постоянную "прописку" на жестком диске.
Многомерный массив может быть и обычной локальной переменной программы или атрибутом класса. В этом случае он и именуется как обычная переменная, без префикса ‘^’.
Глобалы позволяют хранить произвольную информацию, выстроенную в иерархию любой сложности.
Не предъявляется никаких требований к структурированности, однородности, регулярности хранимой в глобале информации.
В качестве измерений глобала могут выступать действительные числа и строки, а не обязательно только целые числа.
Это избавляет от необходимости каким-либо образом кодировать и преобразовывать данные перед записью в глобал – их можно записывать прямо как есть.
Не требуется выделять под глобал память, объявлять для компилятора количество измерений и количество элементов по каждому измерению – глобал без возражений примет, что бы в него ни записали и куда бы ни записали.