большой выход в общем LISP терминале Linux - PullRequest
4 голосов
/ 19 октября 2010

Я написал программу clisp, которая печатает n наборов x * y случайных целых чисел. Я хотел бы сделать n = 100, но я не могу скопировать и вставить все это, потому что мой терминал Linux не возвращается достаточно далеко, из-за отсутствия лучшего слова.

Я бы хотел, чтобы самый простой способ захватить 2200 строк считывания терминала linux.

Ответы [ 3 ]

3 голосов
/ 19 октября 2010

В Лиспе есть несколько способов сохранить вывод в файле.

  • вы можете сохранить взаимодействие REPL в файл. См. Функцию DRIBBLE.

  • вы также можете заключить свой код в WITH-OPEN-FILE.

пример:

(with-open-file (*standard-output* "/tmp/foo.text" :direction :output)
   (your-print-function-here))
3 голосов
/ 26 октября 2010

В дополнение к комментарию выше, я использую sbcl в командной строке для захвата вывода. Просто загрузите свою библиотеку и затем оцените, что вам нужно.

пример:

sbcl --noinform --load "compass.lisp" \
                --eval "(print (table-egs (cocomo81)))" \
                --eval "(quit)" > copy.txt
1 голос
/ 19 октября 2010

Существует несколько различных терминальных программ для Linux. У всех них есть более или менее доступные способы настройки количества строк прокрутки. Я сейчас не на своем Linux-компьютере, но я вспоминаю, что он находится в относительно очевидном месте в пункте меню «Предпочтения» для терминала GNOME, и я думаю, что KDE похож.

Я рекомендую использовать перенаправление оболочки; это более полезная тактика.

...