#read-eval-print-loop #logo-lang
#цикл чтения-оценки-печати #logo-lang
Вопрос:
Существует ли какая-либо бесплатная реализация логотипа, которая предлагает классическую среду stdin / stdout repl под Windows? Как python и ghci.
Насколько я могу судить, FMSLogo — это только графический интерфейс, а ucblogo основан на терминале, без возможности для внешней программы захватывать его выходные данные.
Причина, по которой я задаю вопрос, заключается в том, что я хотел бы настроить минимальную среду разработки логотипа вокруг редактора SublimeText и его плагина SublimeREPL. Я уже реализовал (некоторые) подсветку синтаксиса, автоматическое завершение и встроенную справку. Смотрите здесь.
Мне было бы интересно услышать, как другие рассказывают о своей настройке программирования логотипов.
Ответ №1:
FMSLogo — это графический интерфейс, но у него есть параметры командной строки, которые позволяют ему загружать файл для интерпретации. Насколько я знаю, это не позволяет читать файлы из stdin. Из справки:
-L
-L file1 [file2]
FMSLogo позволяет загружать одно или несколько имен файлов в командной строке
при запуске FMSLogo. Эти файлы загружаются до интерпретатора
запускает чтение команд из commander. Если вы загружаете файл, который
запускает программу, которая включает в себя инструкцию BYE, FMSLogo запускает это
программа и завершается. Таким образом, вы можете писать автономные программы на
FMSLogo и запустите их как новые ярлыки. Обратите внимание, переключатель «-L» должен
следуйте любым другим переключателям.Пример:
fmslogo.exe -L myprog.lgo
Мне было бы интересно услышать, как другие рассказывают о своей настройке программирования логотипов.
Я использую Vim, у которого есть подсветка синтаксиса, и FMSLogo. И храните это в моей папке logolib:
to CG [:file "%%%] 0
ifelse :file = "%%% [
if not namep "load.file: [make "load.file: "script.lgo]
load :load.file:
] [
make "load.file: :file
bury [[] [load.file:]]
load :file
]
end
bury "cg
У меня оба приложения открыты одновременно. Я добавляю код в сеанс Vim и сохраняю файл логотипа.
В FMSLogo я изначально пишу
(cg "myfile.lgo)
и позже я просто перезагружаюсь с помощью CG
Несколько раз я пишу:
GC MainProcedureName
и повторно используйте эту строку, нажав стрелку ВВЕРХ, стрелка ВВЕРХ, ВВОД в командном центре FMSLogo
Если имя файла — script.lgo, мне даже не нужно говорить
(cg "script.lgo)