Hash 高阶func格式

Hash 高阶func格式,hash,lisp,scheme,Hash,Lisp,Scheme,给定函数的骨架: (define gen-hash-division-method (lambda (size))) 以及: (define hash-1 (gen-hash-division-method 701)) 我的代码是: (define gen-hash-division-method (lambda (size) (lambda (w) (modulo key(flip(w)) size)))) 键(flip(w))获取一个列表w并返回一个整数 并致电:

给定函数的骨架:

(define gen-hash-division-method (lambda (size)))
以及:

(define hash-1 (gen-hash-division-method 701))
我的代码是:

(define gen-hash-division-method 
  (lambda (size)
   (lambda (w) 
    (modulo key(flip(w)) size))))
键(flip(w))获取一个列表w并返回一个整数

并致电:

(hash-1 '(h e l l o))
我不断地发现这个错误:

procedure application: expected procedure, given: (h e l l o) (no arguments) 

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

在您的情况下,您有
键(翻转(w))
,这在Scheme land中没有意义

一切都用括号括起来

您需要
(键(翻转w))


记住lisp咒语:
(函数参数…
您得到了错误,因为在Scheme
(w)
中,要求
w
是一个函数。但是
w
只是一个符号列表

在您的情况下,您有
键(翻转(w))
,这在Scheme land中没有意义

一切都用括号括起来

您需要
(键(翻转w))

记住lisp咒语:
(函数参数…