Реализация интерфейса Liscript интерпретатора - Lisp

Узнай цену своей работы

Формулировка задачи:

Пишу GUI приложение. В перспективе хочу портировать на Андроид, но поскольку с Java не сталкивался, решил сначала написать десктопный вариант. Хотел сделать простой РЕПЛ - одно окно, вопрос-ответ с компом... Но чтобы длинный код не стирался каждый раз, вынес код в отдельное окно - можно многократно запускать, результат выводится в окне вывода. Код по флажку можно стирать (как в аське например) или оставлять (как в любой ИДЕ). Но теперь встал вопрос - где вводить запрашиваемые при работе кода данные? Сейчас читаются из окна кода, значит код приходится стирать Логично читать или из третьего окна, или из окна вывода - как в стандартных аналогах. Но это уже не РЕПЛ ). У меня можно открывать много закладок с подобным интерфейсом. Что посоветуете? Или вообще сделать 2 вида интерфейса закладок - ИДЕ/гиттер и РЕПЛ?

Решение задачи: «Реализация интерфейса Liscript интерпретатора»

textual
Листинг программы
(defun foo ()
  (iter (for i from 1 to 2) (collecting (read))))
 
==> foo
(foo)
 
(q w e)
(1 2 3)
 
==> ((q w e) (1 2 3))

Объяснение кода листинга программы

В коде определена функция foo, которая выполняет следующие действия:

  1. Создает пустой список result.
  2. Запускает цикл iter, который выполняет два прохода.
  3. В каждой итерации цикла считывает один символ из стандартного ввода и добавляет его в список result.
  4. Возвращает список result. При вызове функции foo будет выполнен цикл iter, который считывает два символа '(q' и ' w' и добавляет их в список, после чего вернет этот список. В данном случае список будет содержать два элемента: '(q w)'.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы