13.25. CODEBLOCK

About
Functions order

13.25.1. About CODEBLOCK

13.25.2. CODEBLOCK functions order

13.25.2.2. Function EVAL()

 EVAL(<блок кода>,[<список аргументов>]) --> значение последнего выражения

13.25.2.2.3. Description

EVAL() является функцией обработки блока кода. Это наиболее мощное средство в системе xClipper для выполнения блоков кода. Блок кода является особым значением данных, которое относится к части компилированного кода программы. Для получения дополнительной информации по блокам кода читайте главу "Основные концепции".

Для выполнения блока кода нужно вызвать функцию EVAL(), передав ей блок кода и набор параметров. Параметры передаются блоку перед его выполнением. Блоки кода могут представлять собой последовательность выражений, разделенных запятыми. Когда блок кода выполняется, возвращаемым значением является значение последнего выражения в блоке.

Блок кода обычно компилируется при компиляции xClipper-программы. Однако бывают случаи, когда во время выполнения программы возникает необходимость компилировать блок кода из символьной строки. (Например, при использовании оператора (&amp;)).

EVAL() часто используется для создания функций - итераторов. Это такие функции, которые применяют блок к каждому элементу структуры данных. AEVAL(), ASORT(), ASCAN() и DBEVAL() являются функциями - итераторами. AEVAL(), например, выполняет блок для каждого элемента в массиве.

13.25.2.3. Function FIELDBLOCK()

 FIELDBLOCK(<поле базы>)  --> блок кода

13.25.2.4. Function FIELDWBLOCK()

 FIELDWBLOCK(<имя поля>,<номер рабочей области>)  --> блок кода

13.25.2.5. Function MEMVARBLOCK()

 MEMVARBLOCK(<имя переменной памяти>)  --> блок кода