我希望我的程序请求一个表达式,将输入的字符串分配给变量“exp”,然后打印该表达式。
但是我遇到了一些麻烦。我第一次尝试使用(阅读)
(princ "Enter a expression to be evaluated.")
(setf exp (read))
(princ exp)
但是,当我使用此代码时,会发生这种情况。
Hello this is an expression ;This is what I input
Enter a expression to be evaluated.HELLO
T
然后我尝试使用 (read-line),但是当我这样做时,我似乎根本没有被要求输入。
(princ "Enter a expression to be evaluated.")
(setf exp (read-line))
(princ exp)
得到
Enter a expression to be evaluated.
T
节目刚刚结束。
在一些答案之后,我想出了这个
(defun get-input (prompt)
(clear-input)
(write-string prompt)
(finish-output)
(setf exp (read-line)))
(get-input "Enter an expression: ")
(princ exp)
但是,当我运行此程序时,会发生以下情况
My first sentence ;My first input
Enter an expression: My second sentence ;it then asks for input, i do so
My second sentence ;my second input is printed back at me
T