التابع instance_methods‎ الخاص بالصنف Module في روبي

من موسوعة حسوب

يعيد التابع instance_methods مصفوفة تحتوي على أسماء توابع النسخ (instance methods) العامة والمحمية (protected) في المستقبِل (receiver). بالنسبة للوحدات، ستكون التوابع العامة والمحمية. أما بالنسبة للأصناف، فستكون توابع النسخ (وليس التوابع المفردة [singleton methods]). إذا كان الوسيط الاختياري المعطى يساوي false، فلن يتم تضمين توابع الأسلاف (ancestors).

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

instance_methods(include_super=true) array

المعاملات

include_super‎

في حال إعطائه القيمةfalse، فلن يتم تضمين توابع الأسلاف (ancestors).

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

عيد التابع instance_methods مصفوفة تحتوي على أسماء توابع النسخ العامة والمحمية (protected) في المستقبِل (receiver).

أمثلة

مثال على استخدام التابع instance_methods‎:

module A
  def method1()  end
end
class B
  include A
  def method2()  end
end
class C < B
  def method3()  end
end
A.instance_methods(false)                   #=> [:method1]
B.instance_methods(false)                   #=> [:method2]
B.instance_methods(true).include?(:method1) #=> true
C.instance_methods(false)                   #=> [:method3]
C.instance_methods.include?(:method2)       #=> true‎

انظر أيضا

  • التابع instance_method: يعيد كائن UnboundMethod يمثل تابع النسخة (instance method) المعطى في الوحدة.
  • التابع method_added: يُستدعى في كل مرة يُضاف تابع نسخة (instance method) إلى المُستقبِل (receiver).

مصادر