عداد تكرار الكلمات
جزء من قسم Logic & Flow في رحلة Dart على Coddy — الدرس 56 من 65.
التحدي
سهلاستمراراً لمشروع محلل النصوص الخاص بك، ستقوم الآن بتنفيذ الميزة الأكثر تعقيداً: عداد تكرار الكلمات. ستنشئ هذه الخطوة خريطة (map) تتبع عدد مرات ظهور كل كلمة فريدة في نصك، مما يوفر رؤى مفصلة حول أنماط استخدام الكلمات.
- استخدم المتغير
textToAnalyzeمن إعدادك السابق - استخدم المتغير
totalCharactersمن خطوة عد الأحرف - استخدم المتغير
wordListمن خطوة تقسيم الكلمات - استخدم المتغير
totalWordsمن خطوة عد الكلمات - استخدم المتغير
uniqueWordsSetمن خطوة عد الكلمات الفريدة - استخدم المتغير
uniqueWordCountمن خطوة عد الكلمات الفريدة - أنشئ خريطة (Map) فارغة تسمى
wordFrequencyلتخزين أعداد الكلمات - قم بالمرور على كل كلمة في
wordListباستخدام حلقة for-in - لكل كلمة، تحقق مما إذا كانت موجودة بالفعل في الخريطة باستخدام
containsKey() - إذا كانت الكلمة موجودة، فقم بزيادة عدادها بمقدار 1
- إذا لم تكن الكلمة موجودة، فأضفها إلى الخريطة مع تعيين العداد على 1
- اعرض نتائج تحليل تكرار الكلمات بالتنسيق الدقيق الموضح أدناه
- اعرض جميع بيانات التحليل السابقة بالإضافة إلى خريطة تكرار الكلمات مع التنسيق المناسب
على سبيل المثال، إذا تم إعداد محلل النصوص الخاص بك بـ "hello world hello"، فيجب أن يخرج برنامجك:
Text Analysis Tool - Word Frequency
====================================
Analyzing text: "hello world hello"
Total characters: 17
Words found: [hello, world, hello]
Total words: 3
Unique words: {hello, world}
Unique word count: 2
====================================
Word Frequency Analysis Results:
Word frequencies: {hello: 2, world: 1}
====================================
Word frequency analysis completed successfully.إذا تم إعداد محلل النصوص الخاص بك بـ "the cat and the dog and the bird"، فيجب أن يخرج برنامجك:
Text Analysis Tool - Word Frequency
====================================
Analyzing text: "the cat and the dog and the bird"
Total characters: 33
Words found: [the, cat, and, the, dog, and, the, bird]
Total words: 8
Unique words: {the, cat, and, dog, bird}
Unique word count: 5
====================================
Word Frequency Analysis Results:
Word frequencies: {the: 3, cat: 1, and: 2, dog: 1, bird: 1}
====================================
Word frequency analysis completed successfully.إذا تم إعداد محلل النصوص الخاص بك بـ "apple banana apple cherry banana apple"، فيجب أن يخرج برنامجك:
Text Analysis Tool - Word Frequency
====================================
Analyzing text: "apple banana apple cherry banana apple"
Total characters: 38
Words found: [apple, banana, apple, cherry, banana, apple]
Total words: 6
Unique words: {apple, banana, cherry}
Unique word count: 3
====================================
Word Frequency Analysis Results:
Word frequencies: {apple: 3, banana: 2, cherry: 1}
====================================
Word frequency analysis completed successfully.يجب أن يقوم برنامجك بالمرور عبر قائمة الكلمات وبناء خريطة تكرار من خلال التحقق مما إذا كانت كل كلمة موجودة بالفعل في الخريطة. استخدم containsKey() للتحقق من الكلمات الموجودة، وإما زيادة العداد الحالي أو إنشاء إدخال جديد بقيمة 1. سيوفر تحليل التكرار هذا الرؤية الأكثر تفصيلاً لأنماط استخدام الكلمات في نصك.
جرّب بنفسك
import 'dart:io';
void main() {
// Text analyzer setup
String? textToAnalyze = stdin.readLineSync();
// Character counting
int totalCharacters = textToAnalyze!.length;
// Word splitting and counting
List<String> wordList = textToAnalyze.split(' ');
int totalWords = wordList.length;
// Unique word analysis
Set<String> uniqueWordsSet = Set.from(wordList);
int uniqueWordCount = uniqueWordsSet.length;
// Display results
print('Text Analysis Tool - Unique Words');
print('====================================');
print('Analyzing text: "$textToAnalyze"');
print('Total characters: $totalCharacters');
print('Words found: $wordList');
print('Total words: $totalWords');
print('====================================');
print('Unique Word Analysis Results:');
print('Unique words: $uniqueWordsSet');
print('Unique word count: $uniqueWordCount');
print('====================================');
print('Unique word analysis completed successfully.');
}جميع دروس Logic & Flow
1التعامل المتقدم مع القوائم
خصائص القائمة: first و lastحالة القائمة: isEmpty و isNotEmptyعكس القائمةالإضافة إلى القائمة: insertالحذف من القائمة: removeWhereالبحث في القائمة: indexOfفرز القائمةخلط القائمةملخص - منظم القوائم4معالجة الـ Map المتقدمة
التكرار عبر الـ Mapالتحقق من المفاتيح والقيمخصائص الـ Map: keys و valuesإضافة مشروطة: putIfAbsentإزالة العناصر من الـ Mapالـ Maps المتداخلةمراجعة - تحديث المخزون2عمليات القوائم الوظيفية
التحويل باستخدام 'map'التصفية باستخدام 'where'استخدام '.toList()'التحقق من الشروط باستخدام 'any'الشروط باستخدام 'every'البحث باستخدام 'firstWhere'مراجعة - تصفية البيانات5مشروع: حاسبة عربة التسوق
إعداد المشروعإضافة العناصر إلى العربة8مشروع: محلل نصوص بسيط
نظرة عامة على المشروع وإعدادهعد الأحرف3المجموعات
ما هي المجموعة؟إنشاء مجموعةالإضافة والحذف من المجموعاتالتحقق من وجود عناصر في المجموعةتحويل قائمة إلى مجموعةاتحاد المجموعاتتقاطع المجموعاتالفرق بين المجموعاتمراجعة - قائمة ضيوف فريدة