首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >方案高阶函数

方案高阶函数
EN

Stack Overflow用户
提问于 2013-04-15 09:01:54
回答 1查看 121关注 0票数 0

给定函数的框架:

代码语言:javascript
复制
(define gen-hash-division-method (lambda (size)))

以及:

代码语言:javascript
复制
(define hash-1 (gen-hash-division-method 701))

我所编码的内容:

代码语言:javascript
复制
(define gen-hash-division-method 
  (lambda (size)
   (lambda (w) 
    (modulo key(flip(w)) size))))

key(flip(w))获取一个列表w并返回一个整数。

并呼叫:

代码语言:javascript
复制
(hash-1 '(h e l l o))

我一直收到这个错误:

代码语言:javascript
复制
procedure application: expected procedure, given: (h e l l o) (no arguments) 
EN

回答 1

Stack Overflow用户

发布于 2013-04-15 09:21:19

你得到这个错误是因为在Scheme中,(w)期望w是一个函数。但是w只是一个符号列表。

在您的例子中,您使用的是key(flip(w)),这在Scheme land中没有意义。

每一项都用括号括起来。

你想要(key (flip w))

记住lisp的咒语:(function args ...)

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16006167

复制
相关文章

相似问题

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