في البرمجة باستخدام لغة سكالا، يتيح لك استخدام مكتبة المجموعات (Sets) القدرة على فحص ما إذا كانت مجموعة محددة تحتوي على مجموعة أخرى. في هذا السياق، نود التحقق مما إذا كانت مجموعة countrys
تحتوي على مجموعة values
. للقيام بذلك بشكل فعّال وفعّال، يمكننا استخدام ميزة الاختبار الشرطي المدعومة بلغة سكالا.
للبداية، يتعين علينا فهم كيفية تمثيل البيانات في هاتين المجموعتين. countrys
هو مجموعة من الأزواج (tuples)، حيث يتم تمثيل كل دولة بواسطة زوج من المعلومات (المدينة والبلد). من ناحية أخرى، values
هو مجرد مجموعة من السلاسل (strings).
الخطوة الأولى هي فحص ما إذا كانت جميع القيم في values
موجودة في countrys
. للقيام بذلك، يمكننا استخدام الدالة forall
التي تتيح لنا تحديد شرط لجميع العناصر في المجموعة. سنقوم بتحقق مما إذا كانت جميع القيم في values
موجودة في countrys
عن طريق استخدام الرمز forall
.
scalaval containsAllValues = values.forall(country => countrys.contains((country, "")))
يتم استخدام الدالة contains
للتحقق من وجود القيمة المعينة كعنصر في countrys
. ونظرًا لأن countrys
هو مجموعة من الأزواج، نحن نقوم بتمثيل القيمة الفعلية كزوج (country, "")
حيث يتم استخدام ""
لتمثيل البلد.
الآن، يمكننا فحص ما إذا كانت جميع القيم في values
موجودة في countrys
. إذا كانت النتيجة صحيحة، فإن containsAllValues
ستكون true
، وإلا ستكون false
.
يجدر بالذكر أن هذا الرمز يفترض أن القيم في values
هي فريدة. في حال كانت هناك قيم مكررة في values
، يمكن أن يؤدي ذلك إلى نتائج غير متوقعة.
المزيد من المعلومات
لفهم أفضل حول كيفية التحقق مما إذا كانت مجموعة الأزواج countrys
تحتوي على مجموعة القيم values
، يمكننا النظر في الأمور بشكل أكثر تفصيلاً.
تستخدم لغة البرمجة سكالا مفهوم المجموعات (Sets) لتنظيم البيانات بطريقة فريدة. في هذا السياق، يمكننا أن نفترض أن countrys
هو مجموعة من الأزواج، حيث يتم تمثيل كل زوج بواسطة قيمتين: المدينة والبلد. على سبيل المثال:
scalaval countrys = Set(("Paris", "France"), ("Berlin", "Germany"), ("Madrid", "Spain"))
ومن ناحية أخرى، values
هو مجرد مجموعة من السلاسل (النصوص)، وفي هذه الحالة، تحتوي values
على القيم “Paris” و”France”.
الآن، لنتأكد مما إذا كانت جميع القيم في values
موجودة في countrys
، نستخدم دالة forall
التي تقوم بتطبيق شرط معين على جميع العناصر في المجموعة. في هذه الحالة، يمكننا استخدام forall
لفحص ما إذا كانت جميع القيم في values
تظهر كأول عنصر في الأزواج في countrys
. الرمز يبدو كالتالي:
scalaval containsAllValues = values.forall(value => countrys.contains((value, "")))
نستخدم forall
لتحديد ما إذا كانت الشرط صحيحًا لجميع القيم في values
. الشرط يتمثل في وجود القيمة كعنصر في countrys
، حيث يتم تمثيل القيمة كزوج (value, "")
. يتم استخدام ""
لتمثيل البلد، حيث يفترض أن countrys
هو مجموعة من الأزواج.
إذا كانت جميع القيم في values
موجودة في countrys
، ستكون قيمة containsAllValues
تساوي true
، وإلا ستكون تساوي false
.
هذا النهج يتيح لك فحص الوجود الكامل لمجموعة القيم في مجموعة الأزواج بطريقة فعّالة.