ВУЗ:
Составители:
Рубрика:
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 используется для вычисления абсолютной величины:
Страницы
- « первая
- ‹ предыдущая
- …
- 24
- 25
- 26
- 27
- 28
- …
- следующая ›
- последняя »