我正在研究一个函数,该函数需要一个结构列表,然后使用该结构列表产生一个函数,将一个符号列表处理为一个数字。每个结构都由一个符号组成,这个符号将在第二个列表中被使用,并且是一个数字。生成的这个函数必须通过为每个符号分配一个基于先前结构的值来将符号列表变成一个数字。使用抽象列表函数btw。创建一个函数,生成一个函数方案/ DrRacket
Example: ((function (list (make-value 'value1 10) (make-value 'value2 20)))
(list 'value1 'value2 'nothing 'value1)) would produced 40.
继承人我的代码,但它只适用于特定情况。
(define (function lst)
(lambda (x) (foldr + 0 (map (lambda (x)
(cond
[(equal? x (value-name(first lst)))(value-value (first lst))]
[else (value-value (second lst))]))
(filter (lambda (x) (member? x (map value-name lst)))x)))))
如何编写最后一个函数,我仍然遇到我的同一问题 – user1992460
提示:https://www.google.com/search?q=racket+findf – hoha
无法使用findf – user1992460