首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >read-line在WINDOWS上仅读取1个字符

问read-line在WINDOWS上仅读取1个字符
EN

Stack Overflow用户
提问于 2014-11-29 02:10:51
回答 1查看 123关注 0票数 2

我的目标是一个从用户那里收集信息的功能。

到目前为止,我有这样的想法:

代码语言:javascript
复制
(defun prompt-read (prompt)
  (format *query-io* "~a: " prompt)
  (force-output *query-io*)
  (read-line *query-io*))

交换机输出:

代码语言:javascript
复制
CG-USER(27): (prompt-read "cenas")
cenas: lol

"l"
T

这里有两件事我不明白:

1-为什么read-line只获取第一个字符?

2-为什么我必须在写完字符串"lol“后按两次ENTER键才能使函数工作?

我使用的是Allegro CL Free Express Edition 9.0和windows 8- 64位。

编辑:在linux机器上尝试后,输出是我所期望的,并且只需要输入一次,但是我仍然希望了解windows环境下的这种行为。

EN

回答 1

Stack Overflow用户

发布于 2014-11-29 05:52:51

我在CCL (Linux)和Allegro Enterprise Edition 9.0 (Linux)上测试了您的示例,在这两种情况下都返回:

"lol" NIL

NIL可能是信息性的,因为它与您的输出不同--您得到了T,这意味着缺少换行符,这非常奇怪。

http://clhs.lisp.se/Body/f_rd_lin.htm

不幸的是,没有Windows环境来尝试它,我不确定该建议什么,除此之外,这可能是您的终端、换行符编码或类似的东西的某种问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27194007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档