まず始めに、私はスキームの初心者です。また、これはハードウェアに基づいているため、答えを探しているのではなく、ここで何が起こっているのかについての説明を求めています。ここに行きます:
だから私は実装する必要がある機能を持っています。
(define gen-hash-division-method
(lambda (size)
...
))
既に実装した別の関数は、キーとして定義され、単語をパラメーターとして取り、何らかの値を計算します。正しいので載せませんが例としてkey('(w o r d)) => 130293
。現在、「gen-hash-division-method」が行うことになっているのは、パラメーターに基づいてキーのモジュラスを取得することだけです。つまり、h(k) = k modulus size
問題は、k がパラメーターとして指定されていない場合、どのように計算するかということです。これは、「gen-hash-division-method」の使用方法です。
(define hash-1 (gen-hash-division-method 701))
701はサイズパラメータだと思います。テストするには、次のようにします。
(hash-1 '(h e l l o))
これは私が混乱しているところです。ここで何をしているのかわかりません。key('(h e l l o))
単語はそこに与えられていますが、k を実装するために呼び出す方法がわかりませんgen-hash-division-method(size) => k modulus size