التابع Object.extend في روبي

من موسوعة حسوب
< Ruby‏ | Object
مراجعة 17:45، 22 نوفمبر 2018 بواسطة محمد-خطيب (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يُضيف التابع extend توابع النسخة (instance) من كُلِّ وحدةٍ مُرِّرت إليه إلى الكائن الذي استدعي معه.

البنية العامة

extend(module, ...)  obj

المعاملات

module

الوحدة المراد إضافة توابع النسخة منها.

القيم المعادة

يُعاد الكائن المعطى مضافًا إليه توابع النسخة من الوحدات المُمرَّرة.

أمثلة

مثالٌ عن استخدام التابع extend:

module Mod
  def hello
    "Hello from Mod.\n"
  end
end

class Klass
  def hello
    "Hello from Klass.\n"
  end
end

k = Klass.new
k.hello         #=> "Hello from Klass.\n"
k.extend(Mod)   #=> #<Klass:0x401b3bc8>
k.hello         #=> "Hello from Mod.\n"

انظر أيضًا

  • التابع itself: يُعيد الكائن المستقبل.
  • التابع inspect: يُعيد سلسلةً نصيةً تحتوي تمثيلًا  يفهمه البشر للكائن الذي استدعي معه.
  • التابع to_s: يُعيد سلسلةً نصيةً تُمثِّل الكائن الذي استدعي معه.
  • التابع object_id: يعيد مُعرِّفا عدديًا للكائن الذي استُدعي معه.
  • التابع display: يَطبع الكائن الذي استدعي معه على المنفذ المعطى.

مصادر