تخطَّ إلى المحتوى

💎 شرح Ruby

فهم طبيعة Ruby الكائنية

الدرس 2 من 2· ⏱ 2 دقائق قراءة

ما يميّز Ruby عن كثير من اللغات أنّها كائنية بالكامل، لا جزئيًا. فهم هذه الفكرة يغيّر طريقة قراءتك وكتابتك للغة. تبني هذه الصفحة على ما هي Ruby؟.

كل شيء كائن — حرفيًا

في كثير من اللغات، تُعامَل الأنواع «البدائية» (الأرقام، القيم المنطقية) على نحو مختلف عن الكائنات. في Ruby لا وجود لهذا التمييز: كل قيمة كائن، بما في ذلك الأعداد وtrue وnil.

هذا يعني أنّ لكل قيمة دوالّ (Methods) يمكنك استدعاؤها عليها مباشرةً:

puts 3.even?        # => false   (نسأل العدد: هل أنت زوجي؟)
puts (-7).abs       # => 7       (القيمة المطلقة)
puts "ruby".upcase  # => "RUBY"
puts nil.to_s       # => ""      (حتى nil كائن له دوالّ)

العدد 3 كائن نستدعي عليه even?، والنصّ "ruby" كائن نستدعي عليه upcase. لا استثناءات.

الفكرة الأعمق: إرسال الرسائل

في نموذج Ruby الذهني، أنت لا «تستدعي دالّة» فحسب، بل ترسل رسالةً إلى كائن، والكائن يقرّر كيف يستجيب. حين تكتب object.method، فأنت ترسل الرسالة method إلى object.

هذا المنظور يفسّر مرونة Ruby: السلوك يتبع الكائن، ويمكن للكائنات أن تعرّف كيف تردّ على الرسائل بطرق ديناميكية.

لماذا يهمّك هذا؟

  • اتّساق ذهني: قاعدة واحدة تحكم كل شيء — «أرسل رسالة إلى كائن» — فلا حالات خاصّة تحفظها.
  • قابلية القراءة: تعبيرات مثل 5.times أو list.map تقرأ طبيعيةً لأنها تخاطب الكائن مباشرةً.
  • أساس لِما يأتي: هذا الفهم ضروري قبل الأصناف (Classes) والوحدات (Modules)، حيث تعرّف كائناتك الخاصّة وسلوكها.

مثال يجمع الفكرة

# سلسلة من الرسائل، كل واحدة تُرسَل إلى ناتج سابقتها
puts "  Hello Ruby  ".strip.downcase.reverse
# => "ybur olleh"

كل نقطة هنا رسالة تُرسَل إلى الكائن الناتج عن الخطوة السابقة — أناقة تنبع مباشرةً من الطبيعة الكائنية.

الخطوات التالية

بعد استيعاب هذه الطبيعة، ستنتقل إلى المتغيّرات والأنواع والدوالّ، ثم تعريف الأصناف والوحدات الخاصّة بك. راجع الأساس في ما هي Ruby؟، والمبادئ العامّة في البرمجة كائنية التوجّه.

شرح فهم طبيعة Ruby الكائنية — Ruby بالعربي
فهم طبيعة Ruby الكائنيةRuby بالعربي · The Code Fix

هل كان هذا الدرس مفيدًا؟