Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > Программа «Частотный словарь» |
Автор: l0ser 26.12.2012, 16:52 |
Мне в отдалённом будущем (когда напишу эпос) понадобится программа типа «частотный словарь», которая составляет список слов и указывает их количество в тексте. Естественно, после составления такого списка слова можно построить по алфавиту и по частоте (количеству). Так как я прочитал предисловие и введение в книжке «Изучаем Perl», я знаю, что Perl – самый лучший язык для возни с текстами. По крайней мере, для тех, кто знает Perl. ![]() Не прошу написать программу, потому что не смогу запустить её в ближайшее время: у меня и так всё запущено, ни до чего руки не доходят. Прошу лишь примерно оценить сложность написания такой программы. ТЗ: на входе – файл с текстом. Программа читает его, разделяя текст на слова. Разделители – перенос строки, знаки препинания и пробел. Массив (наверное, пригодится хеш) или ассоциативный список (не помню, как правильно называется, помню только толстую стрелочку => ![]() Возможно, в VB такую программу написать легче и приятнее? ![]() |
Автор: vadiml 26.12.2012, 20:14 |
Слово -- ключ хеша, на каждое найденное слово $hash{'слово'}++; а для сортировки -- sort keys Без хешей получится тормоз на любом языке. "Возможно," перл изначально писался для анализа текстов, а VB -- нет. |
Автор: alezzz 27.12.2012, 10:11 |
и стоит учесть особенности русского языка (если словарь будет под русский язык), например падежи. |
Автор: l0ser 7.1.2013, 08:58 |
Спасибо, родные! ![]() |
Автор: dixoNICH 7.1.2013, 14:06 |
$h{$_}++for split /[\s!;:\n?]/, $in; |