4

私はPractical Common Lispを読んで Lisp を学ぼうとしていますが、早い段階でユーザー入力を読み取ろうとして小さなつまずきにぶつかりました。ユーザーに入力を求めるプロンプトを表示するプロンプト読み取りを定義しました。

(defun prompt-read (prompt)
  (format *query-io* "~a: " prompt)
  (force-output *query-io*)
  (read-line *query-io*))

prompt-read を評価しようとすると、[Enter] を押してステートメントを実行すると、入力として受け入れられるように見えるため、結果の入力が空白になります。

>(prompt-read "Test")
Test: 
""
NIL

私は例に正確に従ったので、これは私の環境に何らかの形で関連していると思います。Windows で Emacs Inferior Lisp を使用していますが、期待どおりの動作を得るためにコードを調整する必要はありますか?

4

1 に答える 1

3

コードに問題はないようです。また、MS Windows の SBCL などでも正しく動作します。劣った Lisp モード (本当に劣っている) の代わりに、SLIME を使って Emacs 内で CL コードを編集して実行してみませんか? このガイドに従うことで、すぐにインストールできます。

于 2012-04-25T12:24:25.747 に答える