global
Имя
global — Доступ к глобальным переменнымСинтаксис
global ?varname ...?Описание
Эта команда не имеет эффекта, если она выполняется не в теле процедуры. Если команда global выполняется в теле процедуры, она создает локальные переменные, связанные с соответствующими глобальными переменными (хотя эти связанные переменные, как и те, что создаются командой upvar, не включены в список, возвращаемый командой info locals).Если varname содержит квалификаторы пространства имен, имя локальной переменной является неквалифицированным именем глобальной переменной, определяемым командой namespace tail.
varname всегда обрабатывается как имя переменной, а не элемента массива. Возвращается ошибка, если имя похоже на элемент массива, например, a(b).
Примеры
Эта процедура устанавливает переменную пространства имен ::a::xproc reset {} {
global a::x
set x 0
} Эта процедура накапливает переданные ей строки в глобальный буфер, разделяя их символами новой строки. Это полезно в ситуациях, когда необходимо построить сообщение по частям (как с помощью команды puts), но отправить это полное сообщение одним куском (например, по подключению, открытому с помощью socket или в качестве части ответа HTTP с указанным количеством байтов).
proc accum {string} {
global accumulator
append accumulator $string \n
} См. также
namespace, upvar, variable
Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TclCmd/global.htm
Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TclCmd/global.htm