Программирование на языке Автолисп. Куляс О.С. - 26 стр.

UptoLike

Составители: 

26
выполняется необязательное <выражение-иначе> и возвращается его
результат. Если результат <тест-выражения> NIL и отсутствует <вы-
ражение-иначе>, то возвращается NIL. Например:
(if (= 1 3) "Да!!" "Нет") возвращает "Нет"
(if (= 2 (+ 1 1)) "Да!!") возвращает "Да!!"
(if (= 2 (+ 3 4)) "Да!!") возвращает nil
Если по результатам тестирования нужно выполнить не одно, а
несколько выражений, то используют функцию PROGN
(progn <выражение1><выражение2>...)
Эта функция вычисляет одно <выражение> за другим, возвращая
значение последнего из них. Функция PROGN может быть использована
для вычисления нескольких выражений там, где обычно вычисляется
только одно. Например:
(if (= a b) (progn)
(setq a (+ a 10))
(setq b (- b 10))
)
)
Функция IF обычно вычисляет одно выражение типа "then". В этом
примере использование функции PROGN обеспечивает возможность
вычисления не одного, а двух выражений
.
Функция COND в отличии от функции IF позволяет построить конс-
трукцию,в которой можно проверять не одно, а несколько условий:
(cond (<условие1> <результат1><условие2><результат2>...)...)
Работает она так: вычисляется <условие1>. Если оно выполняется,
то выполняются действия, следующие за этим условием <результат1>.
Затем управление передается функциям, следующим за функцией
COND.
Если же <условие1> не выполняется, то выражения, следующие
за ним также не выполняются, а проверяется <условие2> и т.д. При
этом, в отличие от функции IF, за каждым условием может следовать
любое количество выражений <результат>, которые нет необходимости
объединять с помощью функции PROGN. Если ни одно из условий
не вы-
полняется, то работа функции COND а этом заканчивается.
Функция COND является основной функцией языка АВТОЛИСП,
используемой для проверки условий. Например, следующая функция
COND используется для вычисления абсолютной величины:
26
  выполняется необязательное <выражение-иначе> и возвращается его
результат. Если результат <тест-выражения> NIL и отсутствует <вы-
ражение-иначе>, то возвращается NIL. Например:
    (if (= 1 3) "Да!!" "Нет")             возвращает    "Нет"
    (if (= 2 (+ 1 1)) "Да!!")             возвращает    "Да!!"
    (if (= 2 (+ 3 4)) "Да!!")             возвращает    nil

    Если по результатам тестирования нужно выполнить не одно, а
несколько выражений, то используют функцию PROGN

    (progn <выражение1><выражение2>...)
    Эта функция вычисляет одно <выражение> за другим, возвращая
значение последнего из них. Функция PROGN может быть использована
для вычисления нескольких выражений там, где обычно вычисляется
только одно. Например:
    (if (= a b) (progn)
                        (setq a (+ a 10))
                        (setq b (- b 10))
                    )
    )

    Функция IF обычно вычисляет одно выражение типа "then". В этом
примере использование функции PROGN обеспечивает возможность
вычисления не одного, а двух выражений.

    Функция COND в отличии от функции IF позволяет построить конс-
трукцию,в которой можно проверять не одно, а несколько условий:

    (cond (<условие1> <результат1><условие2><результат2>...)...)
    Работает она так: вычисляется <условие1>. Если оно выполняется,
то выполняются действия, следующие за этим условием <результат1>.
Затем управление передается функциям, следующим за функцией
COND. Если же <условие1> не выполняется, то выражения, следующие
за ним также не выполняются, а проверяется <условие2> и т.д. При
этом, в отличие от функции IF, за каждым условием может следовать
любое количество выражений <результат>, которые нет необходимости
объединять с помощью функции PROGN. Если ни одно из условий не вы-
полняется, то работа функции COND а этом заканчивается.
    Функция COND является основной функцией языка АВТОЛИСП,
используемой для проверки условий. Например, следующая функция
COND используется для вычисления абсолютной величины: