Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

READ-LINE читает и возвращает выражение

Функция - отображение между множествами | Управляющие структуры Лиспа являются формами | LET создаёт локальную связь | Разветвление вычислений: условное предложение COND | Циклические вычисления: предложения FOR, FOR*, WHILE и DO-WHILE | LOAD загружает определения |


Читайте также:
  1. Амен считается альфой и омегой — началом и концом. Говорится, что Иисус сказал апостолу Иоанну: «Я есть Амен». В другом месте Амен используется в значении абсолютной истины.
  2. Б. Б. возвращается на встречу с дизайнерами
  3. Бог почитает кровь Иисуса
  4. Бытует известное выражение: «Пробуждающаяся Кундалини питается плотью и кровью». Что это означает?
  5. В И Лукьяненко (1968) считает целесообразным дополнить классификацию клинических
  6. Возвращается Родионова вместе с дирек­тором школы .

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

(cin read-line) 

Как только интерпретатор встречает команду  read-line, вычисления приостанавливаются до тех пор, пока пользователь не введёт какой-нибудь символ или целиком выражение:

>(cin read-line)(вводимое выражение); выражение пользователя "(вводимое выражение)"; значение функции read-line

Обратите внимание,  read-line никак не показывает, что он ждёт ввода выражения. Программист должен сам сообщить об этом при помощи рассматриваемых позже функций вывода. read-line лишь читает выражение и возвращает в качестве значения само это выражение как строку, после чего вычисления продолжаются.
У приведённого выше вызова функции  read-line не было аргументов, но у этой функции есть значение, которое совпадает с введённым выражением. По своему действию read-line представляет собой функцию, но у неё есть побочный эффект, состоящий именно во вводе выражения. Учитывая это, read-line является не чистой функцией, а псевдофункцией.
Если прочитанное значение необходимо сохранить для дальнейшего использования, то вызов  read-line должен быть аргументом какой-нибудь формы, например присваивания, которая свяжет полученное выражение:

>(nil setq input (cin read-line))(2 + 3); введённое выражение nil; значение >input"(2 + 3)"; строка

Данная функция и форма, вызывающая интерпретатор  read совместно с другими функциями позволяют читать выражения внешние по отношению к программе. Из них можно строить новые выражения или целые программы. Построенные структуры можно вычислить, передав их непосредственно интерпретатору:

>(input read); интерпретатор (2 + 3); список >(nil eval (input read))5

Дата добавления: 2015-07-21; просмотров: 92 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Повторение через итерацию или рекурсию| Использование файлов

mybiblioteka.su - 2015-2024 год. (0.006 сек.)