Scheme 谓词对所有人都是真的?

Scheme 谓词对所有人都是真的?,scheme,racket,predicate,Scheme,Racket,Predicate,我一直试图在“简单方案”中理解练习8.10,但在Racket博士中却无法理解 这是一个:写一个对所有人都为真的谓词?这需要两个参数,一个谓词过程和一个句子。如果谓词参数对句子中的每个单词都返回true,则应返回#t (对所有人来说都是正确的?甚至?’(2 4 6 8) T (对所有人来说都是正确的?甚至?’(2 6 3 4) F 我尝试了解决方案: (定义(适用于所有?发送的pred) (=(已发送计数)(已发送计数(保留预定值))) 但是Racket博士给出了一些错误,比如计数:算术不匹配。

我一直试图在“简单方案”中理解练习8.10,但在Racket博士中却无法理解

这是一个:写一个对所有人都为真的谓词?这需要两个参数,一个谓词过程和一个句子。如果谓词参数对句子中的每个单词都返回true,则应返回#t

(对所有人来说都是正确的?甚至?’(2 4 6 8)

T (对所有人来说都是正确的?甚至?’(2 6 3 4)

F 我尝试了解决方案:

(定义(适用于所有?发送的pred) (=(已发送计数)(已发送计数(保留预定值)))

但是Racket博士给出了一些错误,比如计数:算术不匹配。 是否有人能够重写它或至少给出一些提示。非常感谢:)

致以最良好的祝愿,
Eunice支持多种语言。因此,所有程序都以
#lang
行开始,告诉Racket使用哪种语言。Simply Scheme中使用的Scheme方言需要此行:

#lang planet dyoo/simply-scheme:2
以下节目:

#lang planet dyoo/simply-scheme:2

(define (true-for-all? pred sent)
  (= (count sent) (count (keep pred sent))))

(true-for-all? even? '(2 4 6 8))

(true-for-all? even? '(2 6 3 4))
返回

#t
#f
正如所料

注意:在DrRacket的左下角选择“从源代码确定语言”


Simply Scheme语言的文档如下:

Racket支持多种语言。因此,所有程序都以
#lang
行开始,告诉Racket使用哪种语言。Simply Scheme中使用的Scheme方言需要此行:

#lang planet dyoo/simply-scheme:2
以下节目:

#lang planet dyoo/simply-scheme:2

(define (true-for-all? pred sent)
  (= (count sent) (count (keep pred sent))))

(true-for-all? even? '(2 4 6 8))

(true-for-all? even? '(2 6 3 4))
返回

#t
#f
正如所料

注意:在DrRacket的左下角选择“从源代码确定语言”


Simply Scheme语言的文档如下:

纯Racket中有一个解决方案(仅用于上下文):


纯球拍中有一个解决方案(仅用于上下文):


这真的很有用,非常感谢你@soegaard。但是,在不改变Scheme方言的情况下,是否也可以想出一个解决方案?@euniceyoon如果您发现答案完整,请不要忘记接受它(打绿色复选标记)。这真是信息丰富,非常感谢@soegaard。但是,也有可能在不改变Scheme方言的情况下提出解决方案吗?@euniceyoon如果你发现答案完整,不要忘记接受它(打绿色复选标记)。