我正在研究一個函數,該函數需要一個結構列表,然後使用該結構列表產生一個函數,將一個符號列表處理爲一個數字。每個結構都由一個符號組成,這個符號將在第二個列表中被使用,並且是一個數字。生成的這個函數必須通過爲每個符號分配一個基於先前結構的值來將符號列表變成一個數字。使用抽象列表函數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