【发布时间】:2011-03-21 19:05:39
【问题描述】:
我正在尝试编写一个程序,在该程序中我需要逐个字符地处理字符串,包括空格。该字符串将由运行程序的用户从标准输入流中给出。
我注意到(read) 函数仅在捕获了一些非空白字符后才停止,并切断从第一个空白字符开始的所有内容。
换句话说,如果我执行(read) 函数并输入hi to you,它将返回HI。我希望我的函数返回的是(#\h #\i #\Space #\t #\o #\Space #\y #\o #\u)。谁能给我一些关于如何做到这一点的指示?抱歉,我对 LISP 很陌生,但我非常喜欢它。
编辑:我尝试过的一件事是将 (cons) 与 (read-char) 一起使用。例如:(cons (read-char) (cons (read-char) (cons (read-char) (cons (read-char) (read-char)))))。当用户输入“hello”时,这会输出(#\h #\e #\l #\l . #\o),这很接近,但是那个额外的时间在那里做什么?
【问题讨论】:
标签: lisp common-lisp