[EDIT] Короче говоря: Как бы вы написали автоматическую проверку орфографии? Идея состоит в том, что средство проверки создает список слов из известного хорошего источника (словарь) и автоматически добавляет новые слова, когда они используются достаточно часто. Слова, которые не использовались какое-то время, следует исключить. Поэтому, если я удаляю часть сцены, которая содержит «Mungrohyperiofier», контролер должен помнить об этом некоторое время, а когда я набираю «Mung » в другой сцене, он должен предложить ее снова. Если я не использую это слово, скажем, несколько дней, оно должно забыть об этом.
В то же время я бы хотел избежать опечаток в словаре. [/ EDIT]
Я хочу написать текстовый редактор для рассказов SciFi. Редактор должен предлагать завершение слова для любого слова, используемого в любом месте текущей истории. Для редактирования будет предложена только одна сцена истории (так что вы можете легко перемещать сцены).
Это означает, что у меня есть три комплекта:
- Набор всех слов во всех других сценах
- Набор слов в текущей сцене до Я начал его редактировать
- Набор слов в текущем редакторе
Мне нужно где-то хранить наборы, так как каждый раз было бы слишком дорого составлять список с нуля. Я думаю, что для этого достаточно простого простого текстового файла с одним словом на строку.
Когда пользователь редактирует сцену, мы имеем следующие ситуации:
- Она удаляет слово. Это слово больше нигде не используется в текущей сцене.
- Она печатает новое слово
- Она набирает слово, которое уже существует
- Она печатает слово, которое уже существует, но делает опечатку
- Она исправляет опечатку в слове из набора № 2.
- Она исправляет опечатку в слове из набора № 1 (т. Е. Опечатка тоже в другом месте).
- Она удаляет слово, которое она планирует использовать снова. Однако после удаления слово больше не входит в наборы № 1 и № 3.
Очевидной стратегией будет перестроение наборов слов при сохранении сцены и создание набора № 1 из файла списка слов для каждой сцены.
Итак, мой вопрос: есть ли умная стратегия, чтобы сохранить слова, которые больше нигде не используются, но все же были в состоянии исключить опечатки? Если возможно, эта стратегия должна работать в фоновом режиме, чтобы пользователь даже не заметил, что происходит (т.е. я хочу избежать необходимости хватать мышь, чтобы выбрать «добавить слово в словарь» из меню).
[РЕДАКТИРОВАТЬ] На основе комментария от горе