Реализация интерфейса 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
, которая выполняет следующие действия:
- Создает пустой список
result
. - Запускает цикл
iter
, который выполняет два прохода. - В каждой итерации цикла считывает один символ из стандартного ввода и добавляет его в список
result
. - Возвращает список
result
. При вызове функцииfoo
будет выполнен циклiter
, который считывает два символа '(q' и ' w' и добавляет их в список, после чего вернет этот список. В данном случае список будет содержать два элемента: '(q w)'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д