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

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

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

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

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

textual
Листинг программы
  1. (defun foo ()
  2.   (iter (for i from 1 to 2) (collecting (read))))
  3.  
  4. ==> foo
  5. (foo)
  6.  
  7. (q w e)
  8. (1 2 3)
  9.  
  10. ==> ((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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы