Micro Lisp. Основные понятия, структуры и функции. Яшин Л.З. - 24 стр.

UptoLike

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

24
С помощью функции PRINC можно, естественно, напечатать и скобки:
[7] (begin (princ "(((") (prin1 'луковица) (princ ")))")) (((ЛУКОВИЦА)))
(((ЛУКОВИЦА)))
Пример использования PRINC: определение функции (ЧЕРТА n), печатающей п
раз звездочку (*):
[8] (define (черта n) (cond ((= n 0) t) (t (princ "*") (черта (- n 1)))))
ЧЕРТА
[9] (черта 10)
**********#T
WRITE выводит без перевода строки
WRITE является процедурой вывода. WRITE записывает представление его
аргумента в выводном порте таким образом, чтобы аргумент мог быть заново
прочитан с помощью READ. Поэтому строки заключаются в двойные кавычки, а
встроенным литерам обратного слэша и двойных кавычек должны предшествовать
обратные слэши.
[10] (begin (write '!) (prin1 '!) (princ '!))
!!!
DISPL4Y записывает строки без кавычек
PRIN1 и PRINC рассматриваются как альтернативные имена для WRITE и
DISPLAY, соответственно. DISPLAY записывает свой аргумент в виде, более
читабельном для пользователя. Строки не заключаются в кавычки, литеры
записываются как обычно, а исключительные литеры в строках и символы не
теряются.
[11] (display "Привет!")
Привет!
WRITELN выводит значение, переводит строку
WRITELN записывает каждый из своих аргументов слева направо и затем
выпускает новую строку:
[18] (writeln '(а b с))
(А B С)
()
[19] (writeln (+ 4 6))
10
()
PRINT-LЕNGТН возвращает число выводимых литерных позиций
PRINT-LENGTH возвращает число выводимых литерных позиций, которые
будут печататься с помощью WRITE:
                                        24

      С помощью функции PRINC можно, естественно, напечатать и скобки:
       [7] (begin (princ "(((") (prin1 'луковица) (princ ")))")) (((ЛУКОВИЦА)))
       (((ЛУКОВИЦА)))


       Пример использования PRINC: определение функции (ЧЕРТА n), печатающей п
раз звездочку (*):
        [8] (define (черта n) (cond ((= n 0) t) (t (princ "*") (черта (- n 1)))))
        ЧЕРТА
        [9] (черта 10)
        **********#T

WRITE выводит без перевода строки
      WRITE является процедурой вывода. WRITE записывает представление его
аргумента в выводном порте таким образом, чтобы аргумент мог быть заново
прочитан с помощью READ. Поэтому строки заключаются в двойные кавычки, а
встроенным литерам обратного слэша и двойных кавычек должны предшествовать
обратные слэши.
       [10] (begin (write '!) (prin1 '!) (princ '!))
       !!!

DISPL4Y записывает строки без кавычек
      PRIN1 и PRINC рассматриваются как альтернативные имена для WRITE и
DISPLAY, соответственно. DISPLAY записывает свой аргумент в виде, более
читабельном для пользователя. Строки не заключаются в кавычки, литеры
записываются как обычно, а исключительные литеры в строках и символы не
теряются.
       [11] (display "Привет!")
       Привет!

WRITELN выводит значение, переводит строку
      WRITELN записывает каждый из своих аргументов слева направо и затем
выпускает новую строку:
       [18] (writeln '(а b с))
       (А B С)
       ()
       [19] (writeln (+ 4 6))
       10
       ()

PRINT-LЕNGТН возвращает число выводимых литерных позиций
      PRINT-LENGTH возвращает число выводимых литерных позиций, которые
будут печататься с помощью WRITE: