Шаг 41 - Инструкция Option Base

Применяется на уровне модуля для задания нижней границы индексов массива, используемой по умолчанию.

Option Base {0 | 1}

Замечания
Поскольку по умолчанию используется значение 0, инструкция Option Base никогда не является обязательной. Однако если она используется, эта инструкция должна появляться в модуле перед любой процедурой. Инструкция Option Base может задаваться в модуле только один раз и должна предшествовать описаниям массивов, включающих размерности.
Предложение To в инструкциях Dim, Private, Public, ReDim и Static предоставляет более гибкий способ управления диапазоном индексов массива. Однако если нижняя граница индексов не задается явно в предложении To, можно воспользоваться инструкцией Option Base, чтобы установить используемую по умолчанию нижнюю границу индексов, равную 1. Нижняя граница значений индексов массивов, создаваемых с помощью функции Array, всегда равняется нулю; вне зависимости от инструкции Option Base.
Инструкция Option Base действует на нижнюю границу индексов массивов только того модуля, в котором расположена сама эта инструкция.

Пример
В данном примере инструкция Option Base используется для изменения нижней границы индексов массива, по умолчанию равной 0. Функция LBound возвращает минимальный доступный индекс указанной размерности массива. Инструкция Option Base используется только на уровне модуля.

Option base 1				' Устанавливает нижнюю границу индексов массива равной 1.
Dim Lower
Dim MyArray(20), TwoDArray(3, 4)		' Объявляет переменные-массивы.
Dim ZeroArray(0 To 5)			' Явно задает границы индексов массива.
					' Функция LBound определяет нижние границы индексов массивов.
Lower = LBound(MyArray)			' Возвращает 1.
Lower = LBound(TwoDArray, 2)		' Возвращает 1.
Lower = LBound(ZeroArray)			' Возвращает 0.

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.