التابع method_defined?
الخاص بالصنف Module
في روبي
يعيد التابع method_defined?
القيمة true
إن كان التابع المعطى مُعرّفا في الوحدة أو الصنف (أو الوحدات المُتضمنة فيه، وإن كان صنفًا فأسلافه). تتم مطابقة التوابع العامة والمحمية. تٌحوّل الوسائط النصية إلى رموز.
البنية العامة
method_defined?(symbol) → true or false
method_defined?(string) → true or false
المعاملات
symbol
string
القيمة المُعادة
أمثلة
مثال على استخدام التابع method_defined?
:
module A
def method1() end
def protected_method1() end
protected :protected_method1
end
class B
def method2() end
def private_method2() end
private :private_method2
end
class C < B
include A
def method3() end
end
A.method_defined? :method1 #=> true
C.method_defined? "method1" #=> true
C.method_defined? "method2" #=> true
C.method_defined? "method3" #=> true
C.method_defined? "protected_method1" #=> true
C.method_defined? "method4" #=> false
C.method_defined? "private_method2" #=> false
انظر أيضا
- التابع
method_added
: يُستدعى في كل مرة يُضاف تابع نسخة (instance method) إلى المُستقبِل (receiver). - التابع
method_removed
: يستدعى كمكالمة في كل مرة يُزال تابع نسخة (instance method) من المُستقبِل (receiver).