0

関数のスケルトンを考えると:

(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))))

key(flip(w)) はリスト w を取り、整数を返します。

そして呼び出します:

(hash-1 '(h e l l o))

このエラーが発生し続けます:

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

1 に答える 1

6

スキームでは関数であると(w)想定wされているため、エラーが発生しています。しかしw、単なる記号のリストです。

あなたの場合key(flip(w))、スキームの土地では意味をなさないものがあります。

すべてが括弧で囲まれています

あなたがしたい(key (flip w))

Lisp マントラを覚えておいてください:(function args ...)

于 2013-04-15T01:21:19.223 に答える