我在Racket中做了一些练习,并遇到了一个问题,我似乎无法查询文档。将咖喱映射到参数列表
我要生成的modulo
以下咖喱为除数的列表:
(define multlist '[3 5])
(define modfuncs (map (lambda x ;@ make some modulos
(curry modulo x)) multlist))
由此产生的咖喱程序的列表,这听起来有希望的,但是当我尝试测试他们中的一个,我得到以下错误:
-> (car modfuncs)
#<procedure:curried>
-> ((car modfuncs) 3)
; modulo: contract violation
; expected: integer?
; given: '(3)
; argument position: 1st
; [,bt for context]
假设这是不是做这个可怕的方式,我该如何解除引用的multlist
传递给curry
/map
调用的值,以便这些功能将evalua正确吗?