Cobol имеет привязку времени компиляции для переменных, иногда называемых статической областью действия.
В рамках этого Cobol поддерживает несколько уровней области действия в программах:
«Внешние» переменные эквивалентны общему разделу Fortran или ассемблера, они действительно глобальные.
Переменные "Global Program Scope", объявленные в рабочем хранилище как глобальные, видимы для всей программы, в которой они объявлены AND, во всех вложенных подпрограммах, содержащихся в этой программе.
Переменные "Область программы", объявленные в рабочем хранилище, видны всей программе, в которой они объявлены.
Переменные "Область программы", объявленные в локальном хранилище, видны всей программе, в которой они объявлены, но удаляются и повторно инициализируются при каждом вызове. Думайте, что объем ограничен, Сорта.
«Область вложенных программ» Cobol не различает программы и функции / процедуры, его эквивалентная процедура или функция называется программой. В программе может содержаться бесконечное количество программ, и переменные каждой из них видны только в пределах этой отдельной программы. Вы можете думать об этом как о области функций / процедур.
Расширения OO, которые есть у многих поставщиков, и стандарт 2002 года определяют традиционную область открытых / защищенных / частных объектов и область действия метода.
"Кобол" так же стар, как радар, лазер и аквалангист. Можем ли мы прекратить сокращать его?