//Эта страница доступна также на следующих языках:// [[gschem_repl|English]] ====== Использование REPL в gschem ====== ===== Встроенные графические функции REPL в gschem ===== Поле ввода процедур guile открывается по нажатию клавиши : (двоеточие). После этого пользователь может вводить команды в появившемся поле ввода и наблюдать результат выполнения команд в окне журнала. ===== REPL в фоновом терминале ===== В текущей версии репозитория geda-gaf (на 09.02.2016) имеется дополнительная функция вызова REPL в фоновом терминале, запускаемая по нажатию fShift-r. Учтите, что в данный момент можно запустить её несколько раз, что может привести к путанице в терминале. Кроме того, есть вероятность закрыть работающую версию gschem, при использовании некоторых сочетаний клавиш. При работе в терминале можно подключить функции библиотеки //readline//. Для этого в терминале следует набрать: (use-modules (ice-9 readline)) (activate-readline) ===== Внешний графический REPL ===== Для запуска внешнего графического окна, предоставляющего функции REPL, необходима библиотека работы с REPL из проекта //guile-gnome//. В Debian, например, для её использования необходимо установить пакет //guile-gnome2-gtk//. Для вывода окна наберите в поле встроенного REPL: (use-modules (gnome-2) (gnome gtk) (gnome gtk graphical-repl)) (guile-gtk-repl) ===== REPL в любом терминале ===== Для запуска REPL в терминале нужно открыть сокет изнутри gschem. Для этого надо загрузить системный модуль для REPL и вызвать функцию порождения сервера. (use-modules (system repl server)) (spawn-server) Без параметров функция запуска сервера работает с портом 37146, используемым в guile по умолчанию. Для использования другого порта можно задать, например: (spawn-server 1234) При открытии порта учтите соображения по безопасности, указанные здесь https://lists.gnu.org/archive/html/guile-devel/2010-10/msg00044.html. Дальше необходимо просто подключиться к нему любой программой, которая может работать с сокетом, например, используя **telnet**, **netcat** или другую программу. Примеры использования **telnet**: $ telnet localhost 37146 Пример использования **netcat**: $ nc localhost 37146 В этом случае интерфейс //readline// работать не будет. Пользователи **Emacs** для работы с REPL могут использовать чудесное окружение //Geiser//. Для этого нужно установить данный пакет, запустить сервер REPL в gschem и подключиться к нему в **Emacs** с помощью M-x **''connect-to-guile''**.