1

只需要知道偷看计划的基础知识。我尝试查看球拍网站寻求帮助,但没有太多内容。或者,也许我在寻找错误的部分。无论如何,重点如下。

如果我有(#\x #\b #\o #\x #\space #\3 #\6 #\0)

我希望能够将 x 识别为一个字符,然后继续查看直到达到空间并将其重新定义为一个单词。然后对 360 执行相同的操作。

有小费吗?谢谢,麻烦您了!:)

这是我的代码的样子,以防万一

(define (work x) 
(cond
((null? x)(write '$$))
(char-numeric? (car x))
(write 'Num)
(toke (cdr x)))
((char-alphabetic? (car x))
(write 'ID)
(work (cdr x)))
(else (write "other")))

这样做的问题是它会给我“xbox”的 IDIDIDID(这是代码的原因),但我想让它只为整个单词 xbox 输出一次 ID

奥斯卡,我知道你帮我解决了这个问题,但我缺乏计划知识并没有让我走得更远。很抱歉重新发布。

4

1 回答 1

3

请参阅手册中有关 peek-char 的部分:http://docs.racket-lang.org/reference/Byte_and_String_Input.html#(def. ((quote. ~23~25kernel)._peek-char))

一个示例(我使用字符串作为输入端口,以便示例在没有额外数据文件的情况下工作):

> (define a-string "Foo bar")
> (define in (open-input-string a-string))
> (peek-char in)
#\F
> (peek-char in)
#\F
> (read-char in)
#\F
> (peek-char in)
#\o
> (peek-char in)
#\o
> (read-char in)
#\o
> (read-char in)
#\o
> (peek-char in)
#\space
于 2012-05-07T06:33:10.793 回答