【发布时间】:2014-11-09 00:07:06
【问题描述】:
我正在努力在球拍中制作一个哈希表,它将函数名称与它们所代表的过程相关联。到目前为止我有
(define *function-table* (make-hash)) (define (f-get key) (hash-ref *function-table* key)) (define (f-put! key value) (hash-set! *function-table* key value)) ;;and then to initialize it with a few functions (for-each (lambda (fn) (f-put! fn (lambda (fn args) ((fn) args)))) (list abs +))
所以我希望它能够正常工作,以便我可以拨打电话
((f-get +) 1 2)
然后返回 3,但是我得到的当前错误是:
应用程序:不是程序; 期望一个可以应用于参数的过程 给定:1 参数...:[无]
我很确定问题在于我如何初始化表。用drracket检查,里面的值是程序,但我不知道他们做了什么,我怀疑这不是我想要他们做的。
【问题讨论】: