Im работает над программой Ngrams и им, не имея проблем с заполнением моей хэш-таблицы. Я хочу выписать рекурсивную функцию, которая примет слова и добавит их в хэш-таблицу. Предполагаемый способ работы задается набором данных 1 2 3 4 5 6 7 первая запись в хеш-таблице должна иметь ключ [1 2], а данные должны быть 3. Вторая запись должна быть: [2 3] и его данные должны быть 4 и продолжаться до конца текстового файла.Использование хеш-таблиц в ракетке
Нам предоставляется предопределенная функция, называемая readword, которая просто вернет 1 слово из текста. Но я не уверен, как эти вызовы перекрывают друг друга. Призывы будет выглядеть примерно так, если данные были жестко закодированы в.
(hash-set! (list "1" "2") 3
(hash-set! (list "2" "3") 4
2 вызовы, которые ив пытался выглядеть так
(hash-set! Ngram-table(list((word1) (word2)) readword in)))
(hash-set! Ngram-table(append((cdr data) word1)) readword in)
по-видимому, после readword предполагается сообщить компьютеру что это и вводится вместо вывода или что-то в этом роде.
Как бы это назвать, чтобы данные в ключе хеш-таблицы перекрывались? И как выглядит рекурсивный вызов?
Редактировать: также нам не разрешено использовать утверждения утверждения в этой программе.
Что произошло, когда вы сделали эти звонки? Вы получили сообщение об ошибке? Что это было? –
Не является ли 'hash-set!' Оператором присваивания? В конце концов, это _assigning_ значение для записи в хеш-таблице. –
Я havent получил, что работает еще, потому что я не уверен, как использовать хэш-таблицу. Я понимаю, как работает вызов хэш-таблицы, и это не проблема. То, что у меня есть, состоит в том, как точно вызвать хеш-таблицу, чтобы заставить ее правильно назначить данные. – user2963128