Синтаксис
| define-directive: |
<variable-definition> |
|
<function-definition> |
|
<default-visibility-set> |
| variable-definition: |
(define | :) [private | protected | public] <ident> [[ <expr> ]] [[=] <expr>] |
| function-definition: |
(define | :) [private | protected | public] <ident> ( [<formal-function-args>] ) <expr> |
| default-visibility-set: |
(define | :) private | protected | public |
| formal-function-args: |
<formal-function-arg> [, <formal-function-arg>]... |
| formal-function-arg: |
<by-val-arg> | <by-ref-arg> |
| by-val-arg: |
[<value-type-id>] <ident> [= <expr>] |
|
<func-or-array-type-id> <ident> |
| by-ref-arg: |
[<value-type-id>] * <ident> |
| value-type-id: |
any | int | str |
| func-or-array-type-id: |
func | array |
Описание
Первый элемент синтаксического выражения ("variable-definition")
определяет переменную с именем ident (сокр. от identifier
– идентификатор), или принимает значение элемента массива с именем
ident (для объявления переменной массива используйте директиву
dim вместо директивы define).
Область видимости переменной задаётся одним из ключевых слов public,
protected или private, в противном случае
область видимости переменной
принимается по умолчанию.
Второй элемент синтаксического выражения ("function-definition")
определяет пользовательскую функцию с
именем ident. Примечание:
- Между именем и открывающей скобкой не должно быть пробела, иначе это
будет воспринято как объявление переменной.
- Перед формальными параметрами может стоять идентификатор типа
(type-id): any, int, str, func или
array.
- Значения по умолчанию могут быть указаны только для параметров без
type-id или с type-id: any, int или str.
- Идентификатор типа (type-id) func объявляет, что параметр
принимает пользовательскую или встроенную функцию, а type-id array
объявляет, что он принимает переменную массива. При вызове
пользовательской функции фактический параметр для параметра func
или array должен быть указан с помощью оператора @
(например, @MyFunc or @MyArray). См. также раздел
справки "Пользовательские функции".
Третий элемент синтаксического выражения ("default-visibility-set")
устанавливает область видимости по
умолчанию для всех последующих переменных и пользовательских функций в
данном файле сценария. Если область видимости не объявляется, то по
умолчанию принимается область видимости private.
Примеры
; Объявляем переменную с именем MyAppName
; и присваиваем ей значение "My Program".
#define MyAppName "My Program"
; Объявляем переменную с именем MyAppExe
; и формируем имя исполняемого файла.
#define MyAppExe MyAppName + ".exe"
; Объявляем переменную с именем MyAppVer и присваиваем ей значение,
; которое вернёт функция GetFileVersion() (получение версии файла MyAppExe).
#define MyAppVer GetVersionNumbersString(MyAppExe)
; Объявляем массив с именем MyArray и
; индексу массива 0 присваиваем значение 15.
#define MyArray[0] 15
; Объявляем переменную со значением арифметического действия - умножение.
; А и В целочисленный тип данных.
#define Multiply(int A, int B = 10) A * B
См. также:
dim
undef
Область видимости переменных
Пользовательские функции