Информатика -продвинутый курс


ФУНКЦИИ - часть 3


/p>

 

Отметим, что в программах на Лиспе надо тщательно отличать значения от их обозначений.

В Лиспе константы обозначают самих себя. Выражения типа (* 2 2) сразу вычисляются. Чтобы избежать нежелательного вычисления выражения используется функция QUOTE или знак апострофа (') перед выражением:

 

(* 2 2) : 4

' (* 2 2) :' (* 2 2) – список

 

Произвольный символ можно использовать как переменную, и он может обозначать произвольное выражение. При первом использовании символу должно быть присвоено или с ним связано некоторое значение с помощью функции SET, например,

 

(SET 'операции' (+ - * /))

 

Знак ' используется для подавления вычисления аргументов функции SET. Функция SETQ не вычисляет значения 1-го аргумента (а 2-го вычисляет).

На значение символа можно сослаться, указав его без апострофа (').

Для занесения значений в ячейку памяти, связанной с символом, можно пользоваться обобщенной функцией присваивания SETF, размещающей значения в соответствующей ячейке памяти:

 

(SETF ячейка_памяти значение).

 

Переменная «ячейка_памяти» без апострофа указывает на ячейку памяти. Присвоение, выполняемое функциям» SET, SETQ и SETF, является побочным эффектом , этих функций, помимо того, данные функции возвращают присваиваемые значения.

 




Начало  Назад  Вперед



Книжный магазин