0Pricing
Ruby Academy · درس

التكرار على Hash

each وmap وselect

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

التكرار باستخدام each

تزور الطريقة each كل زوج. وتتلقى الكتلة المفتاح والقيمة.

scores = { math: 90, art: 80 }
scores.each do |subject, score|
  puts "#{subject}: #{score}"
end

each_pair

تُعد each_pair اسمًا بديلًا لـ each في الهاشات. استخدموا أيًّا منهما بحسب ما يجعل الشيفرة أوضح قراءة.

h = { a: 1, b: 2 }
h.each_pair { |k, v| puts "#{k}=#{v}" }

التكرار على المفاتيح فقط

تكرّر each_key على المفاتيح عندما لا تحتاجون إلى القيم.

h = { name: "Ada", age: 36 }
h.each_key { |k| puts k }

التكرار على القيم فقط

تكرّر each_value على القيم مباشرة.

h = { a: 10, b: 20 }
total = 0
h.each_value { |v| total += v }
puts total

التحويل باستخدام map

تعيد map على الهاش مصفوفة. ويُمرَّر كل زوج إلى الكتلة بوصفه مفتاحًا وقيمة.

prices = { pen: 2, book: 5 }
labels = prices.map { |item, p| "#{item}: $#{p}" }
puts labels.inspect

transform_values

تعيد transform_values هاشًا جديدًا تتغير فيه كل قيمة مع الاحتفاظ بالمفاتيح.

prices = { pen: 2, book: 5 }
doubled = prices.transform_values { |p| p * 2 }
puts doubled

transform_keys

تغيّر transform_keys المفاتيح مع الاحتفاظ بالقيم. وهي مفيدة لتحويل السلاسل النصية إلى رموز.

h = { "a" => 1, "b" => 2 }
puts h.transform_keys(&:to_sym)

التصفية باستخدام select

تحتفظ select (والاسم البديل filter) بالأزواج التي تكون نتيجتها true في الكتلة، وتعيد هاشًا جديدًا.

scores = { a: 90, b: 50, c: 70 }
passing = scores.select { |k, v| v >= 70 }
puts passing

رفض الأزواج

تُعد reject عكس select. فهي تحذف الأزواج التي تكون نتيجتها true في الكتلة.

scores = { a: 90, b: 50 }
puts scores.reject { |k, v| v < 60 }

العثور والعدّ

تعيد find أول زوج مطابق في صورة مصفوفة. ويعدّ count التطابقات عند استخدامه مع كتلة.

h = { a: 1, b: 2, c: 3 }
puts h.find { |k, v| v == 2 }.inspect
puts h.count { |k, v| v.odd? }

جمع القيم

اجمعوا بين values وsum لحساب الإجماليات، أو استخدموا each_with_object لإجراء تجميع مخصص.

cart = { apple: 3, pear: 5 }
puts cart.values.sum

فحص سريع

اختبروا معرفتكم بالتكرار على الهاشات.

مراجعة

يمكنكم الآن التكرار على الهاشات:

  • each وeach_key وeach_value
  • map وtransform_values وtransform_keys
  • استخدام select وreject للتصفية
  • find وcount وجمع القيم

التالي: القيم الافتراضية والدمج.

h = { a: 1, b: 2, c: 3 }
puts h.select { |k, v| v.odd? }

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

هل درس «التكرار على Hash» مجاني؟

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

ماذا ستتعلم في «التكرار على Hash»؟

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

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

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

كم من الوقت يستغرق درس «التكرار على Hash»؟

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

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

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

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

  1. Symbols مقابل Strings
  2. إنشاء Hashes وقراءتها
  3. التكرار على Hash
  4. القيم الافتراضية والدمج
← العودة إلى Ruby Academy