دالة Include?
جزء من قسم الأساسيات في رحلة Ruby على Coddy — الدرس 72 من 88.
عند العمل مع المصفوفات، غالباً ما تحتاج إلى التحقق مما إذا كان عنصر معين موجوداً قبل تنفيذ إجراء ما. تجيب طريقة include? في Ruby على هذا السؤال مباشرة، حيث تعيد 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ورقة مرجعية
تتحقق الطريقة 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استخدم include? في الجمل الشرطية للتحقق من وجود العنصر:
allowed_users = ["alice", "bob", "charlie"]
current_user = "bob"
if allowed_users.include?(current_user)
puts "Access granted"
else
puts "Access denied"
endتعمل الطريقة include? مع أي نوع بيانات، بما في ذلك الأرقام والرموز والمصفوفات.
جرّب بنفسك
# قراءة مخزون المتجر (عناصر مفصولة بفاصلة)
store_items = gets.chomp.split(",")
# قراءة قائمة التسوق (عناصر مفصولة بفاصلة)
shopping_list = gets.chomp.split(",")
# تنبيه: اكتب الكود الخاص بك أدناه
# لكل عنصر في قائمة التسوق، تحقق مما إذا كان متاحاً في المتجر
# باستخدام طريقة include? واطبع النتيجةيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على مدخلات المستخدم13المصفوفات المتقدمة
تقطيع المصفوفات باستخدام النطاقاتتقطيع المصفوفات باستخدام الفهارسمعاملات المصفوفاتدالة Include?2المتغيرات وأنواع البيانات
الأرقام والمتغيراتنوع البيانات Stringنوع البيانات Booleanنوع البيانات Symbolالتحقق من أنواع البياناتقواعد التسميةملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة For مع النطاقاتحلقة WhileBreakNextمراجعة - المضروب (Factorial)حلقة Timesحلقة Untilالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراج باستخدام putsالإخراج باستخدام print و pالإخراج باستخدام المتغيراتالإدخال باستخدام getsدالة Chompتحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأ