Пример «Действие Окружение»
Файлы:
- Синтаксис языка
- Действия
- Действие Окружение.перфо
- Действия
Пример программы на языке программирования Перфо:
//Эта программа написана на языке программирования Перфо
//для демонстрации использования действия Окружение
//Действие Окружение:
//Синтаксис: (Окружение СписокДействий)
//Создаёт новый контекст для создаваемых идентификаторов.
//Идентификаторы, созданные внутри окружения, не доступны снаружи.
//Идентификаторы, созданные снаружи, доступны внутри окружения,
//но только до тех пор, пока не будут переопределены в нём.
//Тесты:
//создадим новое окружение и проверим, что переменные созданные в нем не доступны снаружи
(Окружение
(Перем ВнутрПерем1 1)
(Перем ВнутрПерем2 2)
(Вывод "В окружении (+ ВнутрПерем1 ВнутрПерем2) = " (+ ВнутрПерем1 ВнутрПерем2) пс)
)
//проверим:
//если раскомментировать следующую строку, то будет ошибка "Не найден идентификатор ВнутрПерем1"
//(Вывод (+ ВнутрПерем1 ВнутрПерем2))
//ещё одна проверка окружения
(Перем ВнешПерем 777)
(Окружение
(Перем Н 1) //создаем новую переменную
(Окружение
(Перем ЛямН (функ (х) (+ х Н))) //здесь Н из внешнего окружения
(Окружение
(Перем Н 10) //переопределим Н
(Вывод "Н во внутреннем окружении = " Н пс) //получим 10
(Вывод "ВнешПерем во внутреннем окружении = " ВнешПерем пс) //получим 777
(Вывод "ЛямН во внутреннем окружении = " (ЛямН 1) пс) //получим 2, а не 11
)
)
(Вывод "Н во внешнем окружении = " Н пс) //получим 1
(Вывод "ВнешПерем во внешнем окружении = " ВнешПерем пс) //получим 777
)
(Вывод "ВнешПерем вне окружения = " ВнешПерем пс) //получим 777
К началу статьи
Вернуться в раздел:
Примеры по языку Перфо
Перейти в раздел:
Примеры