Спецификаторы переменных.
Спецификаторы переменных предназначены для указания способа хранения переменных и назначения им связей.
В языке программирования PureBasic существуют четыре спецификатора хранения переменных, каждый из которых особым способом распределяет связи переменных в программе.
Существуют следующие типы связей: внешние, внутренние и локальные.
Global - Спецификатор внешнего типа, полный доступ из любой части программы.
Shared - Спецификатор внутреннего типа, доступ только в процедуре к локальной переменной основного потока.
Static - Спецификатор внутреннего типа, доступ только в конкретной процедуре с сохраняющая свои значения между вызовами процедуры.
Protected - Спецификатор локального типа, не имеют связей и доступна только в своём потоке.
Все спецификаторы подчиняются единым синтаксическим правилам.
Спецификаторы <переменная> [= <выражение>], <переменная> [= <выражение>], ...]
- Shared string$
- Global text$="string" ,a ,b=10
Применение спецификатора допускается только в процедурах, исключение составляет спецификатор Global, который можно использовать и в основном потоке программы.
Спецификаторы Shared и Global применяются только к переменным которые ни разу не были объявлены в процедуре или основном потоке.
Если при входе в процедуру, какая-либо переменная заранее не объявлена при помощи спецификаторов, в процедуре создастся локальная переменная, такая переменная является динамической или формальной и будет разрушена при выходе из процедуры. В этом можно убедиться из следующего примера.
- Procedure String()
- Debug string$ ;ранее присвоенное значение переменной из основного потока в процедуре недоступно
- string$="changed string"
- Debug string$ ;значение переменной изменится локально, только в процедуре
- EndProcedure
- string$="string"
- String()
- Debug string$ ;выполнение процедуры не повлияло на значение переменной основного потока
Все примеры написаны и проверены на языке высокого уровня PureBasic v4.31.
Дата составления 14 июля 2009 г.
©Copyright LOMASM - Информационные технологии. Все права защищены. Редактирование и публикация материала только с разрешения автора.
lomasm.ru