Консольный ввод / вывод в Common Lisp - PullRequest
3 голосов
/ 30 ноября 2010

В Common Lisp я пишу консольное приложение. Я закончил большую часть кода, но две критические части все еще сбивают меня с толку.

  1. Как прочитать ключ из ввода и получить для него код ascii.

  2. Как отобразить символ ascii, без специального форматирования или перевода строки.

На втором я пробовал:

(print (code-char 69))

Который отображает:

#\E

Но я просто хочу, чтобы он отображал просто:

E

Во-первых, мне совсем не повезло.

Если это поможет, я запускаю clisp на Linux и OS X. Спасибо!

Ответы [ 2 ]

8 голосов
/ 30 ноября 2010

См. read-char и write-char в разделе потоков CLHS .READ-CHAR читает символ.Portable Common Lisp не имеет возможности читать «ключи», но он может читать символы из потока.

Для получения кода символа см. char-code .

1 голос
/ 01 декабря 2010

, чтобы получить простое "Е", выполнить

(princ (code-char 69))
...