التابع Module.instance_methods‎ في روبي

من موسوعة حسوب
< Ruby‏ | Module
اذهب إلى التنقل اذهب إلى البحث

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

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

instance_methods(include_super=true) array

المعاملات

include_super‎

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

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

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

أمثلة

مثال على استخدام التابع 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).

مصادر