نظرة عامة على المشروع وإعداده
جزء من قسم Logic & Flow في رحلة Dart على Coddy — الدرس 51 من 65.
مرحباً بكم في مشروع مثير متعدد الأجزاء حيث ستقومون ببناء أداة بسيطة لتحليل النصوص! سيجمع هذا المشروع العديد من المفاهيم التي تعلمتها طوال هذه الدورة، بما في ذلك معالجة النصوص (string manipulation)، والقوائم (lists)، والمجموعات (sets)، والخرائط (maps).
خلال الدروس القليلة القادمة، ستقوم بإنشاء برنامج يمكنه تحليل أي نص وتقديم إحصائيات مفيدة عنه. سيقوم المحلل الخاص بك بعدّ الأحرف، وتقسيم النص إلى كلمات، والعثور على الكلمات الفريدة، وحتى تتبع مدى تكرار ظهور كل كلمة.
في هذا الدرس الأول، ستضع الأساس من خلال إنشاء متغير نصي (string variable) يحتوي على النص الذي تريد تحليله. فكر في هذا كأنه تجهيز لمساحة عملك قبل الغوص في التحليل الفعلي. ستبدأ بمهمة بسيطة: تخزين النص الخاص بك وعرضه للتأكد من أن كل شيء يعمل بشكل صحيح.
هذا المشروع مثالي لممارسة مهارات البرمجة في العالم الحقيقي، حيث يُستخدم تحليل النصوص في كل مكان، من منصات التواصل الاجتماعي إلى محركات البحث. لنبدأ في بناء محلل النصوص الخاص بك!
التحدي
سهلقم بإنشاء برنامج يضع الأساس لأداة تحليل النصوص. هذه هي بداية مشروع متعدد الأجزاء حيث ستقوم ببناء نظام لتحليل النص واستخراج معلومات مفيدة منه.
- اقرأ مدخلاً نصياً (string) يحتوي على النص الذي تريد تحليله
- قم بإنشاء متغير نصي يسمى
textToAnalyzeوقم بتخزين النص المدخل فيه - اعرض ترويسة ترحيب لمحلل النصوص الخاص بك
- اعرض النص الأصلي الذي سيتم تحليله
- اعرض رسالة تأكيد بأن الإعداد قد اكتمل
على سبيل المثال، إذا كان المدخل هو "The quick brown fox jumps over the lazy dog"، يجب أن يخرج برنامجك ما يلي:
Text Analysis Tool - Setup Complete
====================================
Original text loaded for analysis:
"The quick brown fox jumps over the lazy dog"
====================================
Text analyzer is ready to process your data!
Setup completed successfully.إذا كان المدخل هو "Hello world! This is a test."، يجب أن يخرج برنامجك ما يلي:
Text Analysis Tool - Setup Complete
====================================
Original text loaded for analysis:
"Hello world! This is a test."
====================================
Text analyzer is ready to process your data!
Setup completed successfully.يجب أن يقوم برنامجك بتخزين النص المدخل في متغير وعرضه تماماً كما تم تقديمه، محاطاً بعلامات الاقتباس. سيتم استخدام هذا الأساس في الدروس القادمة لإجراء عمليات تحليل نصية مختلفة مثل عد الأحرف، وتقسيم النص إلى كلمات، والعثور على الكلمات الفريدة.
جرّب بنفسك
import 'dart:io';
void main() {
// قراءة نص الإدخال
String? inputText = stdin.readLineSync();
// إنشاء متغير textToAnalyze
String textToAnalyze = inputText ?? '';
// TODO: اكتب كودك أدناه لعرض إعداد أداة تحليل النص
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس 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المجموعات
ما هي المجموعة؟إنشاء مجموعةالإضافة والحذف من المجموعاتالتحقق من وجود عناصر في المجموعةتحويل قائمة إلى مجموعةاتحاد المجموعاتتقاطع المجموعاتالفرق بين المجموعاتمراجعة - قائمة ضيوف فريدة