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

من موسوعة حسوب
< Ruby‏ | Module
مراجعة 16:55، 19 نوفمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يعين التابع protected المرئية (visibility) الافتراضية للتوابع المعرفة لاحقًا إلى المرئية protected المحمية إن لم يمُرَّر إليه أي شيء. أما في حال تمرير اسم تابع (أو عدة توابع إليه)، فسيضبط مرئية هذه التوابع المرئية protected المحمية. 

إن كانت مرئية تابعٍ محمية، فلن يكون قابلًا للاستدعاء إلا عندما يكون المتغير self الخاص بالسياق هو التابع نفسه. (في تعريف التابع أو instance_eval). يختلف هذا السلوك عن الأسلوب المحمي في Java. وعادة ما يجب استخدام private.

لاحظ أن التوابع المحمية بطيئة لأنه لا يمكنها استخدام ذاكرة التخزين المؤقتة الداخلية (inline cache).

لإظهار تابع خاص على RDoc، استخدم :doc:.

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

protected  self
protected(symbol, ...) self
protected(string, ...) self

المعاملات

symbol‎

رمز يمثل التابع المراد ضبط مرئيته إلى محمية.

string‎

سلسلة نصية تمثل التابع المراد ضبط مرئيته إلى محمية. يحول هذا المعامل إن أعطي إلى رمز.

...

رمز أو سلسلة نصية تمثل التوابع المراد ضبط مرئيتها إلى محمية.

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

يعاد التابع ذو الاسم symbol‎ أو string‎ المحدَّد بعد ضبط مرئيته إلى محمية.

انظر أيضا

  • التابع protected_method_defined?‎: يتحقق إن كان التابع المحمي (protected) المعطى معرفًا في الوحدة (أو الوحدات المُتضمنة فيه، أو أسلافه إن كان صنفًا).
  • التابع protected_instance_methods: يعيد قائمة بتوابع النسخة (instance methods) المحمية المعرفة في الوحدة.
  • التابع private_instance_methods: يعيد قائمة بتوابع النسخة الخاصة المعرفة في الوحدة.

مصادر