توفر روبي عدة طرق لدمج المصفوفات، لكل منها خصائصه الخاصة. يستكشف هذا الدليل أكثر الطرق شيوعًا وكفاءة، مع تقديم أمثلة توضح سلوكها.
جدول المحتويات
- دمج المصفوفات باستخدام
concat
- دمج المصفوفات باستخدام عامل التشغيل
+
- دمج المصفوفات باستخدام
push
وعامل الانتشار - دمج المصفوفات باستخدام
append
- دمج المصفوفات باستخدام
union
- دمج المصفوفات باستخدام عامل التشغيل
|
- الخلاصة
1. دمج المصفوفات باستخدام concat
تعدّل طريقة concat
المصفوفة الأصلية بإضافة عناصر مصفوفة أخرى إلى نهايتها. إنها عملية تتم في المكان، حيث تُغيّر المصفوفة التي تم استدعاؤها مباشرةً.
array1 = [1, 2, 3]
array2 = [4, 5, 6]
array1.concat(array2)
puts array1 # المخرجات: [1, 2, 3, 4, 5, 6]
puts array2 # المخرجات: [4, 5, 6] (تبقى array2 دون تغيير)
2. دمج المصفوفات باستخدام عامل التشغيل +
يُنشئ عامل التشغيل +
مصفوفة جديدة تحتوي على جميع العناصر من كلا المصفوفتين. تبقى المصفوفات الأصلية دون تغيير.
array1 = [1, 2, 3]
array2 = [4, 5, 6]
merged_array = array1 + array2
puts merged_array # المخرجات: [1, 2, 3, 4, 5, 6]
puts array1 # المخرجات: [1, 2, 3] (تبقى array1 دون تغيير)
puts array2 # المخرجات: [4, 5, 6] (تبقى array2 دون تغيير)
3. دمج المصفوفات باستخدام push
وعامل الانتشار
تضيف طريقة push
عناصر إلى نهاية المصفوفة. يُفكّك عامل الانتشار (*
) مصفوفة أخرى، مما يسمح لك بإضافة جميع عناصرها مرة واحدة. هذه الطريقة، مثل concat
، تُعدّل المصفوفة الأصلية.
array1 = [1, 2, 3]
array2 = [4, 5, 6]
array1.push(*array2)
puts array1 # المخرجات: [1, 2, 3, 4, 5, 6]
puts array2 # المخرجات: [4, 5, 6] (تبقى array2 دون تغيير)
4. دمج المصفوفات باستخدام append
طريقة append
مرادفة لـ push
؛ تعملان بنفس الطريقة.
array1 = [1, 2, 3]
array2 = [4, 5, 6]
array1.append(*array2)
puts array1 # المخرجات: [1, 2, 3, 4, 5, 6]
puts array2 # المخرجات: [4, 5, 6] (تبقى array2 دون تغيير)
5. دمج المصفوفات باستخدام union
ترجع طريقة union
(أو اسمها المستعار، عامل التشغيل |
) مصفوفة جديدة تحتوي فقط على العناصر الفريدة من كلا المصفوفتين المدخلتين. يتم حذف العناصر المكررة.
array1 = [1, 2, 3, 3]
array2 = [3, 4, 5]
merged_array = array1.union(array2)
puts merged_array # المخرجات: [1, 2, 3, 4, 5]
puts array1 # المخرجات: [1, 2, 3, 3] (تبقى array1 دون تغيير)
puts array2 # المخرجات: [3, 4, 5] (تبقى array2 دون تغيير)
6. دمج المصفوفات باستخدام عامل التشغيل |
هذا اختصار لطريقة union
، وينتج نفس النتيجة.
array1 = [1, 2, 3, 3]
array2 = [3, 4, 5]
merged_array = array1 | array2
puts merged_array # المخرجات: [1, 2, 3, 4, 5]
puts array1 # المخرجات: [1, 2, 3, 3] (تبقى array1 دون تغيير)
puts array2 # المخرجات: [3, 4, 5] (تبقى array2 دون تغيير)
7. الخلاصة
توفر روبي طرقًا متنوعة لدمج المصفوفات، مما يسمح لك باختيار النهج الأمثل بناءً على احتياجاتك المحددة. ضع في اعتبارك ما إذا كان التعديل في المكان أم مصفوفة جديدة مطلوبًا وما إذا كان يجب الحفاظ على العناصر المكررة. لإنشاء مصفوفات جديدة، يوفر عامل التشغيل +
وطريقة union
بشكل عام قابلية قراءة أفضل. concat
و push
فعالان لتعديل المصفوفات مباشرةً. إن فهم هذه الفروق الدقيقة يضمن كتابة شفرة روبي واضحة وفعالة.