النصوص متعددة الأسطر (Multi-line Strings)
جزء من قسم Fundamentals في رحلة Dart على Coddy — الدرس 39 من 94.
تتيح لك سلاسل النصوص متعددة الأسطر في Dart إنشاء سلاسل نصوص تمتد عبر عدة أسطر دون الحاجة إلى استخدام الربط (concatenation) أو رموز الهروب (escape characters).
أنشئ سلسلة نصية متعددة الأسطر باستخدام علامات الاقتباس الثلاثية:
String poem = '''
Roses are red,
Violets are blue,
Dart is awesome,
And so are you!
''';اطبع السلسلة النصية متعددة الأسطر:
print(poem);بعد تنفيذ الكود أعلاه، ستكون النتيجة:
Roses are red,
Violets are blue,
Dart is awesome,
And so are you!التحدي
سهلقم بإنشاء دالة تسمى createEventInvitation تقوم بإنشاء دعوة لحدث منسقة باستخدام السلاسل النصية متعددة الأسطر في Dart.
يجب أن تأخذ الدالة خمسة معاملات:
String eventNameString dateString timeString locationString? dresscode(قابل للإلغاء - قد لا يتم توفيره)
يجب أن تعيد الدالة دعوة نصية منسقة متعددة الأسطر بالتنسيق التالي:
YOU ARE INVITED!
====================
Event: [eventName]
Date: [date]
Time: [time]
Location: [location]
Dress Code: [dresscode or 'Casual attire' if dresscode is null]
====================
We hope to see you there!استخدم استكمال السلسلة النصية (string interpolation) مع السلاسل النصية متعددة الأسطر (علامات الاقتباس الثلاثية) لإنشاء هذا المخرج المنسق. تأكد من الحفاظ على التنسيق الدقيق الموضح أعلاه، بما في ذلك سطر علامات التساوي والرسالة الموجودة في الأسفل.
ورقة مرجعية
أنشئ سلاسل نصية متعددة الأسطر باستخدام علامات الاقتباس الثلاثية:
String poem = '''
Roses are red,
Violets are blue,
Dart is awesome,
And so are you!
''';اطبع السلاسل النصية متعددة الأسطر:
print(poem);استخدم إدراج السلاسل النصية (string interpolation) داخل السلاسل النصية متعددة الأسطر:
String message = '''
Event: $eventName
Date: $date
Location: $location
''';جرّب بنفسك
import 'dart:io';
import 'dart:convert';
// دالة لإنشاء دعوة حدث منسقة
String createEventInvitation(String eventName, String date, String time, String location, String? dresscode) {
// اكتب الكود الخاص بك هنا لإنشاء دعوة نصية متعددة الأسطر
// تذكر استخدام علامات الاقتباس الثلاثية (''') للنصوص متعددة الأسطر
// استخدم إدراج النصوص ($variable) لتضمين المعاملات
// إذا كان dresscode فارغاً (null)، استخدم 'Casual attire' بدلاً من ذلك
}
void main() {
// قراءة المدخلات بتنسيق JSON
String inputJson = stdin.readLineSync()!;
Map<String, dynamic> eventData = jsonDecode(inputJson);
// استخراج القيم من المدخلات
String eventName = eventData['eventName'];
String date = eventData['date'];
String time = eventData['time'];
String location = eventData['location'];
String? dresscode = eventData['dresscode']; // قد يكون هذا فارغاً (null)
// استدعاء الدالة وطباعة النتيجة
String invitation = createEventInvitation(eventName, date, time, location, dresscode);
print(invitation);
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
معاملات المقارنةالمعامل المنطقي ANDالمعامل المنطقي ORالمعامل المنطقي NOTمعاملات فحص النوعملخص - إجراء المقارنات7التعامل مع النصوص (Strings)
دمج النصوص (String Concatenation)تضمين النصوص (String Interpolation)النصوص متعددة الأسطر (Multi-line Strings)خصائص النصوص (String Properties)دوال النصوص الأساسية (String Methods)10المجموعات - أساسيات الخرائط
ما هي الخرائط؟إنشاء خريطةالوصول إلى القيم عبر المفتاحأزواج المفتاح والقيمةالحصول على حجم الخريطةالحصول على المفاتيحالحصول على القيمالتحقق من وجود مفتاح2المتغيرات وأنواع البيانات الأساسية
ما هي المتغيرات؟النصوص (Strings)الأعداد الصحيحة (int)الأعداد العشرية (double)القيم المنطقية (bool)استنتاج النوع باستخدام 'var'المتغيرات النهائية (Final)المتغيرات الثابتة (Constant)قواعد التسميةأساسيات الـ Null Safetyملخص - التصريح عن المتغيرات8مسار التحكم - الحلقات التكرارية
حلقة 'for' التكراريةحلقة 'while' التكراريةحلقة 'do-while' التكراريةاستخدام 'break' في الحلقات التكراريةاستخدام 'continue' في الحلقات التكراريةملخص - تكرار الكود البرمجي3المعاملات - الجزء الأول
المعاملات الحسابيةالقسمة الصحيحةمعامل باقي القسمة (Modulo)الزيادة والنقصاناختصارات التعيينملخص - الحسابات البسيطة6تدفق التحكم - اتخاذ القرار
جملة 'if'جملة 'else'جملة 'else if'ملخص - القرارات البسيطةجمل 'if' المتداخلةجملة 'switch'9المجموعات - أساسيات القوائم
ما هي القوائم؟إنشاء قائمةالوصول عبر الفهرسالحصول على طول القائمةإضافة عناصرإزالة عناصرالتحقق مما إذا كانت القائمة فارغةالتكرار عبر القائمة