使用Racket创建一个函数,如果所有数字都是奇数,则返回布尔值?甚至?
我被这个问题困住了。事实上,代码一直在运行,并且没有结束。有什么建议吗 (选中expect(所有元素?偶数?(列表1 2 3))false) (选中expect(所有元素?偶数?(列表2 4 6))true) (选中expect(所有元素?奇数?(列表1 3 5))true) (定义(所有元素?谓词lst) (续) [(空?lst)假] [(谓词(第一个lst))true] [其他(所有元素?谓词lst)] ) ) 不同的方法: 或作为可变函数:使用Racket创建一个函数,如果所有数字都是奇数,则返回布尔值?甚至?,racket,Racket,我被这个问题困住了。事实上,代码一直在运行,并且没有结束。有什么建议吗 (选中expect(所有元素?偶数?(列表1 2 3))false) (选中expect(所有元素?偶数?(列表2 4 6))true) (选中expect(所有元素?奇数?(列表1 3 5))true) (定义(所有元素?谓词lst) (续) [(空?lst)假] [(谓词(第一个lst))true] [其他(所有元素?谓词lst)] ) ) 不同的方法: 或作为可变函数: (define (all-elements? p
(define (all-elements? predicate . args)
(foldr my-and (map predicate args)))
然后可以键入:
(all-elements? odd? 1 3 5 7 9) ;; #t
谢谢王进。“我肯定是想得太多了。”欢迎苏珊娜!
(all-elements? odd? '(1 3 5))
;; #t
(define (all-elements? predicate . args)
(foldr my-and (map predicate args)))
(all-elements? odd? 1 3 5 7 9) ;; #t