1

我想在 DrRacket 中编写一个代码,它接受来自命令提示符的多个单词并将它们转换为字符串列表。例如。如果我在提示中输入hello how do you do,它应该将其转换为列表'("hello" "how" "do" "you" "do")。DrRacket 有可能吗?

我试过这个:(定义inp-lst(读取))

运行此代码时,命令提示符中会显示一个输入栏。但是当我输入上述行时, inp-lst 的值原来只是'hello。有人可以帮忙吗?

4

2 回答 2

2

第一步,在引号之间输入您的输入,如下所示:

(define inp-lst (read))
"hello how do you do"

现在,您可以创建一个字符串列表:

(regexp-split #px" " inp-lst)
> '("hello" "how" "do" "you" "do")

编辑 :

正如评论中指出的那样,read-line可能是更好的选择:

(define inp-lst (read-line))
(regexp-split #px" " inp-lst)
> '("hello" "how" "do" "you" "do")

使用read-line,您不需要用引号将键入的文本括起来。

于 2012-05-03T17:10:07.667 回答
0

“读取”函数读取一个表达式,在您的情况下它是单个符号“你好”。您的意图是读取一行,以#\newline 终止,获取一个字符串,然后用#\space 将其拆分。尝试“阅读线”

于 2012-05-03T17:14:40.103 回答