2010-11-30 10 views
3

Common Lispでは、コンソールアプリケーションを作成しています。私はコードの大部分を終えましたが、2つの重要な部分がまだ私を混乱させています。Common Lispでのコンソール入出力

  1. 入力からキーを読み込み、そのASCIIコードを取得する方法。

  2. 特別な書式設定や改行なしでASCII文字を表示する方法。第二に

、私が試してみた:

#\E 

をしかし、私はちょうどそれが平野を表示したい:

(print (code-char 69)) 

表示する

E 

最初は、私は運が全くありませんでした。

私はLinuxとOS Xでclispを実行しています。ありがとう!

+0

Common LispはFYI、文字とエンコーディングを区別します。 #\ Eは文字です。 :-) –

答えて

7

streams CLHS chapterread-charおよびwrite-charを参照してください。 READ-CHARは文字を読み取ります。移植可能なCommon Lispには 'keys'を読み取る機能はありませんが、ストリームから文字を読み取ることができます。

文字のコードを取得するにはchar-codeを参照してください。

+0

ありがとう、物事は今働いている! – crc

1

平野 "E" を取得するために、実行

(princ (code-char 69)) 
+0

ニース。これは当初よりも短くなっています:(write-char(code-char 69)* standard-output *) – crc