gpt4 book ai didi

functional-programming - Scheme中的函数表使用关联表

转载 作者:太空宇宙 更新时间:2023-11-03 18:45:56 24 4
gpt4 key购买 nike

我正在尝试在 Scheme 中构建一个基本的解释器,并且我想使用关联列表来映射到算术函数。这是我到目前为止所拥有的:

; A data type defining an abstract binary operation
(define binoptable
'(("+" . (+ x y)))
("-" . (- x y))
("*" . (* x y))
("/" . (/ x y)))
)

问题是表的 RHS 上的元素存储为符号列表。有没有人对如何补救他有任何想法。提前致谢。

最佳答案

你可能想要:

(define binoptable
`(("+" . ,+)
("-" . ,-)
("*" . ,*)
("/" . ,/)))

此外,您可以使用宏来更轻松地指定:

(define-syntax make-binops
(syntax-rules ()
[(make-binops op ...)
(list (cons (symbol->string 'op) op) ...)]))
(define binoptable (make-binops + - * /))

关于functional-programming - Scheme中的函数表使用关联表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1490798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com