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

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

يعيد التابع protected_method_defined?‎ القيمة true إن كان التابع المحمي (protected) المعطى معرفًا في الوحدة (أو الوحدات المُتضمنة فيه، أو أسلافه إن كان صنفًا).

تُحول الوسائط النصية إلى رموز.

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

protected_method_defined?(symbol) true or false
protected_method_defined?(string) true or false

المعاملات

symbol‎

رمز يمثل التابع.

string‎

سلسلة نصية تمثل التابع.

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

يعيد التابع protected_method_defined?‎ القيمة true إن كان التابع المحميالمعطى معرفًا في الوحدة (أو الوحدات المُتضمنة فيه، أو أسلافه إن كان صنفًا). وإلا فسيعيد false.

أمثلة

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

  • module A
      def method1()  end
    end
    class B
      protected
      def method2()  end
    end
    class C < B
      include A
      def method3()  end
    end
    A.method_defined? :method1              #=> true
    C.protected_method_defined? "method1"   #=> false
    C.protected_method_defined? "method2"   #=> true
    C.method_defined? "method2"             #=> true‎
    

انظر أيضا

  • التابع protected_instance_methods: يعيد قائمة بتوابع النسخة (instance methods) المحمية المعرفة في mod. إذا كان الوسيط الاختياري يساوي false ، فلن تُتضمّن توابع الأسلاف (ancestors).

التابع private_method_defined?‎: يعيد القيمة true إن كان التابع الخاص المعطى معرفًا من طرف _mod_

  • التابع protected_instance_methods: يعيد قائمة بتوابع النسخة (instance methods) المحمية المعرفة في mod.
  • التابع private_instance_methods: يعيد قائمة بتوابع النسخة (instance methods) الخاصة (private) المعرفة في الوحدة.
  • التابع public: في حال استدعاء بدون وسائط، فسيضبط المنظورية (visibility) الافتراضية للتوابع المعرفة لاحقًا عند القيمة public.

مصادر