Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

معاملات المصفوفات

جزء من قسم الأساسيات في رحلة Ruby على Coddy — الدرس 71 من 88.

توفر لغة Ruby معاملات خاصة تتيح لك دمج المصفوفات ومقارنتها ومعالجتها بطرق قوية. تجعل هذه المعاملات من السهل العمل مع مصفوفات متعددة في وقت واحد.

يقوم العامل + بدمج مصفوفتين في مصفوفة جديدة:

a = [1, 2, 3]
b = [4, 5, 6]
combined = a + b

puts combined  # المخرجات: 1, 2, 3, 4, 5, 6

يقوم عامل الـ - بإزالة العناصر من المصفوفة الأولى التي تظهر في المصفوفة الثانية:

all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove

puts result  # المخرجات: 1, 3, 5

يقوم عامل التشغيل & بإرجاع العناصر المشتركة بين كلا المصفوفتين (التقاطع):

a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b

puts common  # المخرجات: 3, 4

يقوم عامل التشغيل | بدمج المصفوفات وإزالة التكرارات (الاتحاد):

a = [1, 2, 3]
b = [3, 4, 5]
union = a | b

puts union  # المخرجات: 1, 2, 3, 4, 5

كل هذه العمليات تُنشئ مصفوفات جديدة وتترك المصفوفات الأصلية دون تغيير.

challenge icon

التحدي

سهل

اقرأ سطرين من المدخلات، يحتوي كل منهما على أعداد صحيحة مفصولة بفاصلة:

  1. المصفوفة الأولى (على سبيل المثال، 1,2,3,4,5)
  2. المصفوفة الثانية (على سبيل المثال، 3,4,5,6,7)

قم بإجراء العمليات التالية واطبع النتائج، كل منها في سطر مستقل:

  1. اطبع كل عنصر من عناصر الدمج (concatenation) لكلتا المصفوفتين (باستخدام +)
  2. اطبع --- كفاصل
  3. اطبع كل عنصر من عناصر الفرق (difference) (المصفوفة الأولى ناقص الثانية، باستخدام -)
  4. اطبع --- كفاصل
  5. اطبع كل عنصر من عناصر التقاطع (intersection) (العناصر المشتركة، باستخدام &)
  6. اطبع --- كفاصل
  7. اطبع كل عنصر من عناصر الاتحاد (union) (مدمجة بدون تكرار، باستخدام |)

على سبيل المثال، إذا كانت المدخلات هي 1,2,3,4,5 و 3,4,5,6,7، يجب أن تكون المخرجات:

1
2
3
4
5
3
4
5
6
7
---
1
2
---
3
4
5
---
1
2
3
4
5
6
7

إذا كانت المدخلات هي 10,20,30 و 30,40,50، يجب أن تكون المخرجات:

10
20
30
30
40
50
---
10
20
---
30
---
10
20
30
40
50

إذا كانت المدخلات هي 5,10,15 و 1,2,3، يجب أن تكون المخرجات:

5
10
15
1
2
3
---
5
10
15
---
---
5
10
15
1
2
3

ورقة مرجعية

يوفر Ruby معاملات خاصة لدمج المصفوفات ومقارنتها ومعالجتها:

يقوم المعامل + بربط مصفوفتين معاً:

a = [1, 2, 3]
b = [4, 5, 6]
combined = a + b  # [1, 2, 3, 4, 5, 6]

يقوم المعامل - بإزالة العناصر من المصفوفة الأولى التي تظهر في المصفوفة الثانية:

all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove  # [1, 3, 5]

يعيد المعامل & التقاطع (العناصر المشتركة):

a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b  # [3, 4]

يعيد المعامل | الاتحاد (مدمجة بدون تكرار):

a = [1, 2, 3]
b = [3, 4, 5]
union = a | b  # [1, 2, 3, 4, 5]

تقوم كل هذه المعاملات بإنشاء مصفوفات جديدة وتترك المصفوفات الأصلية دون تغيير.

جرّب بنفسك

# قراءة مصفوفات المدخلات
input1 = gets.chomp.split(',').map(&:to_i)
input2 = gets.chomp.split(',').map(&:to_i)

# TODO: اكتب كودك أدناه
# قم بإجراء العمليات التالية:
# 1. الدمج باستخدام +
# 2. الفرق باستخدام -
# 3. التقاطع باستخدام &
# 4. الاتحاد باستخدام |
# اطبع كل نتيجة مع "---" كفاصل بين العمليات
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات