الفرق بين المراجعتين لصفحة: «Ruby/Module/protected»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: التابع <code>protected | <noinclude>{{DISPLAYTITLE: التابع <code>Module.protected</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Module]] | [[تصنيف: Ruby Module Class]] | ||
يعين التابع <code>protected</code> [[Ruby/modules and classes#.D8.A7.D9.84.D9.85.D8.B1.D8.A6.D9.8A.D8.A9|المرئية]] (visibility) الافتراضية للتوابع المعرفة لاحقًا إلى المرئية <code>protected</code> المحمية إن لم يمُرَّر إليه أي شيء. أما في حال تمرير اسم تابع (أو عدة توابع إليه)، فسيضبط [[Ruby/modules and classes#.D8.A7.D9.84.D9.85.D8.B1.D8.A6.D9.8A.D8.A9|مرئية]] هذه التوابع المرئية <code>protected</code> المحمية. | |||
إن كانت | إن كانت مرئية تابعٍ محمية، فلن يكون قابلًا للاستدعاء إلا عندما يكون المتغير <code>self</code> الخاص بالسياق هو التابع نفسه. (في تعريف التابع أو <code>instance_eval</code>). يختلف هذا السلوك عن الأسلوب المحمي في Java. وعادة ما يجب استخدام <code>private</code>. | ||
لاحظ أن التوابع المحمية بطيئة لأنه لا يمكنها استخدام ذاكرة التخزين | لاحظ أن التوابع المحمية بطيئة لأنه لا يمكنها استخدام ذاكرة التخزين المؤقتة الداخلية (inline cache). | ||
لإظهار تابع خاص على RDoc، استخدم <code>:doc:</code> | لإظهار تابع خاص على RDoc، استخدم <code>:doc:</code>. | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">protected → self | <syntaxhighlight lang="ruby">protected → self | ||
سطر 16: | سطر 16: | ||
==المعاملات== | ==المعاملات== | ||
===<code>symbol</code>=== | ===<code>symbol</code>=== | ||
رمز يمثل التابع. | [[Ruby/Symbol|رمز]] يمثل التابع المراد ضبط مرئيته إلى محمية. | ||
===<code>string</code>=== | ===<code>string</code>=== | ||
سلسلة نصية تمثل التابع. | [[Ruby/String|سلسلة نصية]] تمثل التابع المراد ضبط مرئيته إلى محمية. يحول هذا المعامل إن أعطي إلى [[Ruby/Symbol|رمز]]. | ||
==القيمة | |||
<code>...</code> | |||
[[Ruby/Symbol|رمز]] أو [[Ruby/String|سلسلة نصية]] تمثل التوابع المراد ضبط مرئيتها إلى محمية. | |||
==القيمة المعادة== | |||
يعاد التابع ذو الاسم <code>symbol</code> أو <code>string</code> المحدَّد بعد ضبط مرئيته إلى محمية. | |||
==انظر أيضا== | ==انظر أيضا== | ||
*التابع <code>[[Ruby/Module/ | *التابع <code>[[Ruby/Module/protected method defined-3F|protected_method_defined?]]</code>: يتحقق إن كان التابع المحمي (protected) المعطى معرفًا في الوحدة (أو الوحدات المُتضمنة فيه، أو أسلافه إن كان صنفًا). | ||
*التابع <code>[[Ruby/Module/protected instance methods|protected_instance_methods]]</code>: يعيد قائمة بتوابع النسخة (instance methods) المحمية المعرفة في | *التابع <code>[[Ruby/Module/protected instance methods|protected_instance_methods]]</code>: يعيد قائمة بتوابع النسخة (instance methods) المحمية المعرفة في الوحدة. | ||
*التابع <code>[[Ruby/Module/private instance methods|private_instance_methods]]</code>: يعيد قائمة بتوابع النسخة | *التابع <code>[[Ruby/Module/private instance methods|private_instance_methods]]</code>: يعيد قائمة بتوابع النسخة الخاصة المعرفة في الوحدة. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Module.html#method-i-protected قسم | *[http://ruby-doc.org/core-2.5.1/Module.html#method-i-protected قسم التابع protected في الصنف 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
: يعيد قائمة بتوابع النسخة الخاصة المعرفة في الوحدة.