Menu
CoddyTech

دوال الـ Hash

جزء من قسم الأساسيات في رحلة Ruby على Coddy. الدرس 76 من 88.

توفر Ruby عدة أساليب مضمّنة تساعدك على فحص التجزئات والعمل معها بفعالية أكبر. تتيح لك هذه الأساليب الوصول السريع إلى معلومات حول محتويات التجزئة.

تعيد الطريقة keys مصفوفةً تحتوي على جميع المفاتيح في التجزئة:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person.keys  # يطبع name وage وcity، كلًّا منها في سطر منفصل

وبالمثل، تعيد الطريقة values مصفوفة تحتوي على جميع القيم:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person.values  # يطبع Alice و25 وParis، كلًّا منها في سطر مستقل

للتحقق مما إذا كان مفتاح محدد موجودًا، استخدم key? أو الاسم البديل له has_key?:

person = {"name" => "Alice", "age" => 25}

puts person.key?("name")     # المخرجات: true
puts person.key?("country")  # المخرجات: false

تخبرك الطريقة length بعدد أزواج المفتاح والقيمة التي تحتوي عليها التجزئة:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person.length  # الناتج: 3

أخيرًا، تتحقق empty? مما إذا كان التجزؤ يحتوي على أي أزواج على الإطلاق:

data = {}
puts data.empty?  # يُخرج: true
challenge icon

التحدي

سهل

اقرأ سطرين من الإدخال:

  1. تجزئة ممثلة بأزواج مفاتيح وقيم مفصولة بفواصل، بالتنسيق key:value (مثلًا: name:Alice,age:25,city:Paris)
  2. مفتاح للتحقق من وجوده (سلسلة نصية)

حلّل الإدخال الأول لإنشاء تجزئة، ثم استخدم أساليب التجزئة التي تعلمتها لإخراج المعلومات التالية، كلٌّ منها في سطر منفصل:

  1. اطبع كل مفتاح في التجزئة (مفتاح واحد في كل سطر)
  2. اطبع --- كفاصل
  3. اطبع كل قيمة في التجزئة (قيمة واحدة في كل سطر)
  4. اطبع --- كفاصل
  5. اطبع عدد أزواج المفاتيح والقيم في التجزئة
  6. اطبع --- كفاصل
  7. اطبع true أو false للدلالة على ما إذا كانت التجزئة فارغة
  8. اطبع --- كفاصل
  9. اطبع true أو false للدلالة على ما إذا كان المفتاح من الإدخال الثاني موجودًا في التجزئة

على سبيل المثال، إذا كان الإدخالان هما name:Alice,age:25,city:Paris وage، فينبغي أن يكون الناتج:

name
age
city
---
Alice
25
Paris
---
3
---
false
---
true

إذا كان الإدخالان هما product:Laptop,price:999 وstock، فينبغي أن يكون الناتج:

product
price
---
Laptop
999
---
2
---
false
---
false

إذا كان الإدخالان هما status:active وstatus، فينبغي أن يكون الناتج:

status
---
active
---
1
---
false
---
true

جرّب بنفسك

# اقرأ الإدخال
input_string = gets.chomp
key_to_check = gets.chomp

# حلّل سلسلة الإدخال لإنشاء hash
hash = {}
input_string.split(',').each do |pair|
  key, value = pair.split(':')
  hash[key] = value
end

# TODO: اكتب شيفرتك أدناه
# استخدم أساليب hash من أجل:
# 1. اطبع كل مفتاح (مفتاح واحد في كل سطر)
# 2. اطبع "---" كفاصل
# 3. اطبع كل قيمة (قيمة واحدة في كل سطر)
# 4. اطبع "---" كفاصل
# 5. اطبع عدد أزواج المفاتيح والقيم
# 6. اطبع "---" كفاصل
# 7. اطبع true/false إذا كان hash فارغًا
# 8. اطبع "---" كفاصل
# 9. اطبع true/false إذا كان key_to_check موجودًا في hash
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات

تدرّب بنفسك: مترجم Ruby عبر الإنترنت