دالة Include?
جزء من قسم الأساسيات في رحلة Ruby على Coddy. الدرس 72 من 88.
عند العمل مع المصفوفات، غالبًا ما تحتاج إلى التحقق مما إذا كان عنصر محدد موجودًا قبل تنفيذ إجراء ما. تجيب طريقة Ruby include? عن هذا السؤال مباشرةً، إذ تُرجع true أو false.
fruits = ["apple", "banana", "orange"]
puts fruits.include?("banana") # الناتج: true
puts fruits.include?("grape") # الناتج: falseتتحقق الطريقة من وجود تطابق تام، لذا فهي تراعي حالة الأحرف في السلاسل النصية:
colors = ["Red", "Green", "Blue"]
puts colors.include?("Red") # الناتج: true
puts colors.include?("red") # الناتج: falseتكون هذه الطريقة مفيدة بشكل خاص في العبارات الشرطية. بدلًا من التكرار على مصفوفة للعثور على عنصر، يمكنك ببساطة التحقق مما إذا كان موجودًا فيها:
allowed_users = ["alice", "bob", "charlie"]
current_user = "bob"
if allowed_users.include?(current_user)
puts "Access granted"
else
puts "Access denied"
endتعمل الطريقة include? مع أي نوع بيانات مخزّن في المصفوفة، بما في ذلك الأعداد والرموز وحتى المصفوفات الأخرى.
التحدي
سهلاقرأ سطرين من الإدخال:
- قائمة بالعناصر المتوفرة في متجر، على هيئة سلاسل مفصولة بفواصل (مثل:
apple,banana,orange,milk,bread) - قائمة بالعناصر الموجودة في قائمة مشترياتك، على هيئة سلاسل مفصولة بفواصل (مثل:
banana,eggs,milk,cheese)
تحقّق لكل عنصر في قائمة مشترياتك مما إذا كان متوفرًا في المتجر باستخدام الطريقة include?. اطبع كل عنصر متبوعًا بـ Available أو Not available بناءً على وجوده في مخزون المتجر.
تذكّر أن include? تتحقق من التطابق التام، لذا تكون المقارنة حساسة لحالة الأحرف.
على سبيل المثال، إذا كان الإدخالان apple,banana,orange,milk,bread وbanana,eggs,milk,cheese، فينبغي أن يكون الناتج:
banana - Available
eggs - Not available
milk - Available
cheese - Not availableإذا كان الإدخالان Red,Green,Blue وred,Green,Yellow، فينبغي أن يكون الناتج:
red - Not available
Green - Available
Yellow - Not availableإذا كان الإدخالان coffee,tea,juice وcoffee,water,tea، فينبغي أن يكون الناتج:
coffee - Available
water - Not available
tea - Availableإذا كان الإدخالان pen,pencil,eraser وpen، فينبغي أن يكون الناتج:
pen - Availableجرّب بنفسك
# اقرأ مخزون المتجر (عناصر مفصولة بفواصل)
store_items = gets.chomp.split(",")
# اقرأ قائمة التسوق (عناصر مفصولة بفواصل)
shopping_list = gets.chomp.split(",")
# TODO: اكتب شيفرتك أدناه
# لكل عنصر في قائمة التسوق، تحقّق مما إذا كان متوفرًا في المتجر
# باستخدام الطريقة include? واطبع النتيجةيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على مدخلات المستخدم13المصفوفات المتقدمة
تقطيع المصفوفات باستخدام النطاقاتتقطيع المصفوفات باستخدام الفهارسمعاملات المصفوفاتدالة Include?2المتغيرات وأنواع البيانات
الأرقام والمتغيراتنوع البيانات Stringنوع البيانات Booleanنوع البيانات Symbolالتحقق من أنواع البياناتقواعد التسميةملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة For مع النطاقاتحلقة WhileBreakNextمراجعة - المضروب (Factorial)حلقة Timesحلقة Untilالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراج باستخدام putsالإخراج باستخدام print و pالإخراج باستخدام المتغيراتالإدخال باستخدام getsدالة Chompتحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأتدرّب بنفسك: مترجم Ruby عبر الإنترنت