0Pricing
Ruby Academy · درس

وحدة Enumerable

إمكانات مشتركة للمجموعات

وحدة Enumerable درس مجاني في Ruby Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ruby Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ruby Academy 4 دروس في المجموع.

ما هي Enumerable؟

Enumerable وحدة تمنح المجموعات، مثل المصفوفات وhash والنطاقات، مجموعة مشتركة من الأساليب القوية. ويمكن لأي فئة تحتوي على each تضمينها.

puts [1, 2, 3].is_a?(Enumerable)
puts (1..3).is_a?(Enumerable)

include? و member?

تتحقق include? مما إذا كانت مجموعة ما تحتوي على قيمة.

nums = [10, 20, 30]
puts nums.include?(20)
puts (1..5).include?(3)

count

يعيد count الحجم، أو يحسب العناصر المطابقة عند استخدام كتلة.

nums = [1, 2, 3, 4]
puts nums.count
puts nums.count { |n| n.even? }

min و max و minmax

اعثروا على القيم القصوى باستخدام min أو max، أو على كلتيهما معًا باستخدام minmax.

nums = [4, 1, 7, 3]
puts nums.min
puts nums.max
puts nums.minmax.inspect

sum

يجمع sum جميع العناصر. ويمكنكم تمرير قيمة ابتدائية.

puts [1, 2, 3].sum
puts [1, 2, 3].sum(100)

sort و sort_by

يرتّب sort العناصر، بينما يرتّب sort_by العناصر حسب مفتاح محسوب.

words = ["pear", "a", "fig"]
puts words.sort.inspect
puts words.sort_by { |w| w.length }.inspect

any? و all?

تكون any? صحيحة إذا طابق عنصر واحد على الأقل الشرط، بينما تكون all? صحيحة فقط إذا طابقت جميع العناصر الشرط.

nums = [2, 4, 6]
puts nums.all? { |n| n.even? }
puts nums.any? { |n| n > 5 }

none? و find

تكون none? صحيحة إذا لم يطابق أي عنصر الشرط. ويعيد find، وهو اسم مستعار لـdetect، أول تطابق.

nums = [1, 3, 5]
puts nums.none? { |n| n.even? }
puts nums.find { |n| n > 2 }

first و take

يحصل first على العنصر أو العناصر الأولى، بينما يأخذ take عددًا من البداية ويتجاوز drop هذه العناصر.

nums = [10, 20, 30, 40]
puts nums.first(2).inspect
puts nums.drop(2).inspect

group_by

ينشئ group_by بنية hash تجمع العناصر في مجموعات حسب نتيجة الكتلة.

nums = [1, 2, 3, 4, 5]
groups = nums.group_by { |n| n.even? ? :even : :odd }
puts groups

each_with_index

يمرّر each_with_index كلًا من العنصر وموضعه.

%w[a b c].each_with_index do |item, i|
  puts "#{i}: #{item}"
end

اختبار سريع

تحققوا من معرفتكم بـ Enumerable.

مراجعة

تمنح Enumerable المجموعات قدرات قوية:

  • include? وcount وmin/max وsum
  • sort/sort_by وany?/all?/none?
  • find وfirst/take/drop
  • group_by وeach_with_index

التالي: التعمق في map وselect وreject.

puts [3, 1, 2].sort.inspect

الأسئلة الشائعة

هل درس «وحدة Enumerable» مجاني؟

نعم — نص درس «وحدة Enumerable» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ruby Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ruby Academy 4 دروس في المجموع.

ماذا ستتعلم في «وحدة Enumerable»؟

إمكانات مشتركة للمجموعات تتمرن على Ruby Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Ruby Academy؟

لا تُشترط خبرة سابقة. Ruby Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «وحدة Enumerable»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Ruby Academy هذا؟

نعم. كل درس في Ruby Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. إنشاء النطاقات
  2. وحدة Enumerable
  3. map وselect وreject
  4. reduce وeach_with_object
← العودة إلى Ruby Academy