Пример 22-8. Область видимости локальных переменных

Пример 22-8. Область видимости локальных переменных

#!/bin/bash

func ()

{

local loc_var=23 # Объявление локальной переменной.

echo

echo ""loc_var" в функции = $loc_var"

global_var=999 # Эта переменная не была объявлена локальной.

echo ""global_var" в функции = $global_var"

}

func

# Проверим, "видна" ли локальная переменная за пределами функции.

echo

echo ""loc_var" за пределами функции = $loc_var"

# "loc_var" за пределами функции =

# Итак, $loc_var не видна в глобальном контексте.

echo ""global_var" за пределами функции = $global_var"

# "global_var" за пределами функции = 999

# $global_var имеет глобальную область видимости.

echo

exit 0

Переменные, объявляемые в теле функции, считаются необъявленными до тех пор, пока функция не будет вызвана. Это касается всех переменных.

#!/bin/bash

func ()

{

global_var=37 # Эта переменная будет считаться необъявленной

#+ до тех пор, пока функция не будет вызвана.

} # КОНЕЦ ФУНКЦИИ

echo "global_var = $global_var" # global_var =

# Функция "func" еще не была вызвана,

#+ поэтому $global_var пока еще не "видна" здесь.

func

echo "global_var = $global_var" # global_var = 37

# Переменная была инициализирована в функции.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

2.1.1 Область Видимости

Из книги C++ автора Хилл Мюррей

2.1.1 Область Видимости Описание вводит имя в области видимости. То есть, имя может использоваться только в определенной части программы. Для имени, описанного в функции (такое имя часто называют локальным), эта область видимости простирается от точки описания до конца


4.1 Область Видимости

Из книги Программирование автора Козлова Ирина Сергеевна

4.1 Область Видимости Есть четыре вида областей видимости: локальная, файл, программа и класс.Локальная: Имя, описанное в блоке (#9.2), локально в этом блоке и может использоваться только в нем после места описания и в охватываемых блоках. Исключение составляют метки (#9.12),


13. Область видимости

Из книги Справочное руководство по C++ автора Страустрап Бьярн

13. Область видимости Областью при видимости называется часть текста программы, в которой может быть использован определенный объект. Объект является видимым в блоке или в исходном файле, когда в данном блоке или файле определены имя и тип объекта. Объект может быть


R.3.2 Область видимости

Из книги Технология XSLT автора Валиков Алексей Николаевич

R.3.2 Область видимости Существует четыре области видимости: локальная, функция, файл и класс.Локальная: Имя, описанное в блоке (§R.6.3), является локальным в этом блоке и может использоваться только в нем и в блоках, содержащихся в этом блоке и появляющихся после момента


R.16.3.4 Область видимости макроимен и конструкция #undef

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

R.16.3.4 Область видимости макроимен и конструкция #undef После появления макроопределения идентификатор из него считается определенным и остается в текущей области видимости (независимо от правил областей видимости в С++) до конца единицы трансляции или пока его определение


Область видимости параметров

Из книги автора

Область видимости параметров Область видимости параметров определяется в точности так же, как область видимости переменных. Единственным, на что следует обратить здесь внимание — это то, что элементы xsl:param, определяемые в шаблонах, должны всегда быть его первыми


Пример 19-1. Область видимости переменных

Из книги автора

Пример 19-1. Область видимости переменных #!/bin/bash# subshell.shechoouter_variable=Outer(inner_variable=Innerecho "Дочерний процесс, "inner_variable" = $inner_variable"echo "Дочерний процесс, "outer" = $outer_variable")echoif [ -z "$inner_variable" ]then echo "Переменная inner_variable не определена в родительской оболочке"else echo "Переменная inner_variable


Пример 22-9. Использование локальных переменных при рекурсии

Из книги автора

Пример 22-9. Использование локальных переменных при рекурсии #!/bin/bash# факториал# ---------# Действительно ли bash допускает рекурсию?# Да! Но...# Нужно быть действительно дубинноголовым, чтобы использовать ее в сценариях# на языке командной


8. Область видимости и время жизни

Из книги автора

8. Область видимости и время жизни В этой главе обсуждаются два важных вопроса, касающиеся объявлений в С++. Где употребляется объявленное имя? Когда можно безопасно использовать объект или вызывать функцию, т.е. каково время жизни сущности в программе? Для ответа на


8.1. Область видимости

Из книги автора

8.1. Область видимости Каждое имя в С++ программе должно относиться к уникальной сущности (объекту, функции, типу или шаблону). Это не значит, что оно встречается только один раз во всей программе: его можно повторно использовать для обозначения другой сущности, если


8.1.1. Локальная область видимости

Из книги автора

8.1.1. Локальная область видимости Локальная область видимости – это часть исходного текста программы, содержащаяся в определении функции (или блоке внутри тела функции). Все функции имеют свои локальные области видимости. Каждая составная инструкция (или блок) внутри


9.1.4. Перегрузка и область видимости A

Из книги автора

9.1.4. Перегрузка и область видимости A Все перегруженные функции объявляются в одной и той же области видимости. К примеру, локально объявленная функция не перегружает, а просто скрывает глобальную:#include stringvoid print( const string );void print( double ); // перегружает print()void fooBar( int ival ){//