crc
crc

Reputation: 1505

Console I/O in Common Lisp

In Common Lisp, I am writing a console application. I've finished most of the code, but two critical pieces are still confusing me.

  1. How to read a key from the input and get the ascii code for it.

  2. How to display an ascii character, without special formatting or newline.

On the second, I've tried:

(print (code-char 69))

Which displays:

#\E

But I just want it to display a plain:

E

On the first, I've had no luck at all.

If it helps, I am running clisp on Linux and OS X. Thanks!

Upvotes: 4

Views: 2625

Answers (2)

Patrick
Patrick

Reputation: 525

to get a plain "E", execute

(princ (code-char 69))

Upvotes: 1

Rainer Joswig
Rainer Joswig

Reputation: 139311

See read-char and write-char in the streams CLHS chapter. READ-CHAR reads a character. Portable Common Lisp does not have the capabilities to read 'keys', but it can read characters from a stream.

For getting the code of a character see char-code.

Upvotes: 8

Related Questions