المصفوفات (Arrays)
المصفوفات هي واحدة من أهم بنى البيانات في روبي. تُستخدم لتخزين قائمة مرتبة من العناصر، ويمكن أن تحتوي على أي نوع من البيانات.
ما هي المصفوفة؟
المصفوفة هي مجموعة من القيم مُخزنة بترتيب معين. كل عنصر له فهرس (index) يبدأ من الصفر.
إنشاء المصفوفات
الطريقة الأساسية: الأقواس المربعة
الناتج:
طريقة Array.new
طريقة %w للنصوص
الوصول إلى العناصر
الفهرس الإيجابي (من البداية)
الفهرس يبدأ من 0 وليس 1:
الفهرس السلبي (من النهاية)
جدول الفهارس
| العنصر | الفهرس الإيجابي | الفهرس السلبي |
|---|---|---|
| تفاح | 0 | -4 |
| موز | 1 | -3 |
| برتقال | 2 | -2 |
| عنب | 3 | -1 |
الوصول باستخدام النطاقات
first و last
تعديل المصفوفات
تغيير عنصر موجود
إضافة عناصر
push - إضافة في النهاية
<< (المعامل shovel)
طريقة مختصرة للإضافة في النهاية:
unshift - إضافة في البداية
insert - إضافة في موضع محدد
حذف عناصر
pop - حذف من النهاية
shift - حذف من البداية
delete - حذف قيمة معينة
delete_at - حذف بالفهرس
جدول ملخص: إضافة وحذف العناصر
| العملية | الدالة | الموضع | المثال |
|---|---|---|---|
| إضافة | push / << | النهاية | arr.push(x) أو arr << x |
| إضافة | unshift | البداية | arr.unshift(x) |
| إضافة | insert | موضع محدد | arr.insert(2, x) |
| حذف | pop | النهاية | arr.pop |
| حذف | shift | البداية | arr.shift |
| حذف | delete | قيمة معينة | arr.delete(x) |
| حذف | delete_at | فهرس محدد | arr.delete_at(2) |
معلومات عن المصفوفة
التكرار على المصفوفات
باستخدام for
الناتج:
باستخدام each
الطريقة الأكثر استخداماً في روبي:
الناتج:
each مع الفهرس
الناتج:
أمثلة عملية
مثال 1: قائمة التسوق
الناتج:
مثال 2: تتبع الدرجات
الناتج:
مثال 3: قائمة مهام
الناتج:
نصائح مهمة
- الفهارس تبدأ من 0 - هذا يختلف عن العد البشري الذي يبدأ من 1
- استخدم << بدلاً من push - أقصر وأكثر شيوعاً في روبي
- تحقق من الحدود -
arr[100]يُرجعnilلا خطأ - استخدم each بدلاً من for - الطريقة المفضلة في روبي
- المصفوفات قابلة للتعديل - يمكن تغييرها بعد الإنشاء
تمرين: إدارة قائمة التسوق
حان وقت التطبيق! في محرر الشيفرة على اليسار:
المطلوب:
- أنشئ مصفوفة
shoppingتحتوي على: "حليب"، "خبز"، "بيض" - أضف "جبن" في النهاية
- أضف "ماء" في البداية
- اطبع عدد العناصر
- اطبع العنصر الأول
- اطبع العنصر الأخير
- احذف "خبز" من القائمة
- اطبع المصفوفة النهائية باستخدام p
تلميحات:
- استخدم
<<للإضافة في النهاية - استخدم
unshiftللإضافة في البداية - استخدم
deleteلحذف عنصر معين - استخدم
pلطباعة المصفوفة كاملة
الناتج المتوقع:
تذكّر: المصفوفات تبدأ فهارسها من 0، وتوفر روبي دوال قوية للتعامل معها!