首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计划中程序的散列表

计划中程序的散列表
EN

Stack Overflow用户
提问于 2014-11-09 00:07:06
回答 1查看 907关注 0票数 0

我正致力于在racket中创建一个哈希表,它将函数名与它们所代表的过程关联起来。到目前为止我已经

(定义*函数表*(make-散列))(定义(f-get键)(散列-引用*函数表*键))(定义(f-put!(散列设置!*函数表*键值);;然后用几个函数初始化它(每个函数(lambda (fn) (f-put )!fn (lambda (fn args) ((fn) args) (list abs +)

所以我想让它起作用,我可以打个电话

((f-get +) 12)

然后返回3,但是我现在得到的错误是:

应用程序:不是一个过程;期望一个可以应用于给定参数的过程:1参数.:无

我很确定问题在于我如何初始化表。检查石榴石,它的价值是程序,但我不知道他们做什么,我怀疑这不是我希望他们做的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-09 00:24:31

您的哈希表应该是从符号'+到函数+的映射。您的代码似乎试图通过在哈希表中的函数而不是符号'+来查找函数。

使用:

代码语言:javascript
复制
(for-each f-put! '(abs +) (list abs +))

然后用以下方法获得函数:

代码语言:javascript
复制
((f-get '+) 1 2)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26823498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档