Итак, у меня есть программа для проверки орфографии. Функциональность программы заключается в том, что она хэширует слово четырьмя различными способами и помещает эти хэш-значения в список. Вы предоставляете словарь допустимых слов и выполняете ту же операцию для каждого слова в словаре. Конечным результатом будет то, что каждое слово будет иметь уникальный список значений хеш-функции. Затем я могу предоставить слово в качестве входных данных, сгенерировать список значений хеш-функции и сравнить его с каждым словом в словаре, чтобы убедиться, что оно написано правильно.
(define gen-checker
(lambda (hashfunctionlist dict)
(lambda (w)
(cond ((null? dict) 'False)
(else
(if (equal? (functions hashfunctionlist (car dict))
(functions hashfunctionlist w))
'(True)
(gen-checker hashfunctionlist (cdr dict) )
))))))
Это мой код для этого.
Требуется 3 параметра: список хеш-функций, слово и список слов в словаре. Единственная проблема, с которой я столкнулся, это то, что она не повторяется в строке (gen-checker hashfunctionlist (cdr dict)). Это просто говорит #<procedure:...
Что я могу сделать, чтобы сделать этот рекурс через функцию?