我有一个折叠函数,我想在许多不同的结构上使用,每个结构都有任意命名的字段。因此,我需要告诉 fold 函数传递了什么样的结构,以及访问哪个字段。我需要这样的东西:
(define-struct test (element))
(define test_struct (make-test 0))
(define (getfield elementname structure)
((typeof structure)-elementname structure))
(getfield element test_struct)
最后一行相当于:
(test-element test_struct)
当然,以上都不是正确的语法,但它应该显示我想要的。基于stackoverflow上的其他一些问题,答案似乎与此有关,syntax
但我不知道它到底是如何工作的。