Читайте также:
|
|
В распространённых процедурных языках наряду с основными действиями есть специальные управляющие механизмы разветвления вычислений и организации циклов. В Паскале, например, используются структуры if then else, while do, case и другие.
Управляющие структуры Лиспа (будем для них использовать термин предложение) выглядят внешне как вызовы функций. Предложения будут записываться в виде скобочных выражений, второй элемент которых действует как имя управляющей структуры, а остальные элементы - как "аргументы". Результатом вычисления, так же как у функции, является значение, т.е. управляющие структуры представляют собой формы. Однако предложения не являются вызовами функций, и разные предложения используют аргументы по-разному.
Наиболее важные с точки зрения программирования синтаксические формы можно на основе их использования разделить на следующие группы:
Работа с контекстом:
- ' или блокировка вычисления;
- вызов функции и лямбда-вызов;
- предложение let.
Форма исполнения:
- пошаговая progn;
- параллельная parallel;
- независимая fork.
Разветвление вычислений:
- условные предложения cond, if.
Итерации:
- циклические предложения for, for*, while, do-while.
Ранее уже рассматривали форму ', а также лямбда-вызов и вызов функции. Эти формы тесно связаны с механизмом определения функций и их вызова. Остальные формы в основном используются в теле лямбда-выражений, определяющих функции.
Дата добавления: 2015-07-21; просмотров: 57 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Функция - отображение между множествами | | | LET создаёт локальную связь |