الفرق بين المراجعتين لصفحة: «Ruby/Module/protected»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>protected</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude> تصنيف: Ruby تص...' |
لا ملخص تعديل |
||
| سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Module]] | [[تصنيف: Ruby Module]] | ||
في حال استدعاء التابع <code>protected</code> دون تمرير أي وسائط، | في حال استدعاء التابع <code>protected</code> دون تمرير أي وسائط، فسيضبط المنظورية (visibility) الافتراضية للتوابع المعرفة لاحقًا عند القيمة <code>protected</code>. أما في حال تمرير وسائط، فسيضبط منظورية التوابع المعطاة عند القيمة <code>protected</code>. تُحول الوسائط النصية <code>String</code> إلى رموز. | ||
إن كانت منظورية تابع | |||
إن كانت منظورية تابع محمية (<code>protected)</code>، فلن يكون قابلًا للاستدعاء إلا عندما يكون المتغير <code>self</code> الخاص بالسياق هو التابع نفسه. (في تعريف التابع أو <code>instance_eval</code>). يختلف هذا السلوك عن الأسلوب المحمي في Java. وعادة ما يجب استخدام <code>private</code>. | |||
لاحظ أن التوابع المحمية بطيئة لأنه لا يمكنها استخدام ذاكرة التخزين المؤقت المضمّنة (inline cache). | لاحظ أن التوابع المحمية بطيئة لأنه لا يمكنها استخدام ذاكرة التخزين المؤقت المضمّنة (inline cache). | ||
لإظهار تابع خاص على RDoc، استخدم | |||
لإظهار تابع خاص على RDoc، استخدم <code>:doc:</code> بدلاً من هذا. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">protected → self | <syntaxhighlight lang="ruby">protected → self | ||
| سطر 13: | سطر 16: | ||
==المعاملات== | ==المعاملات== | ||
===<code>symbol</code>=== | ===<code>symbol</code>=== | ||
رمز يمثل التابع. | |||
===<code>string</code>=== | ===<code>string</code>=== | ||
سلسلة نصية تمثل التابع. | |||
==القيمة المُعادة== | ==القيمة المُعادة== | ||
يعيد التابع <code>protected</code> الكائن الكائن <code>self</code>. | |||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Module/ | *التابع <code>[[Ruby/Module/private method defined-3F|private_method_defined?]]</code>: يعيد القيمة <code>true</code> إن كان التابع الخاص المعطى معرفًا من طرف <code>_mod_</code> | ||
* التابع <code>[[Ruby/Module/ | *التابع <code>[[Ruby/Module/protected instance methods|protected_instance_methods]]</code>: يعيد قائمة بتوابع النسخة (instance methods) المحمية المعرفة في <code>mod</code>. | ||
*التابع <code>[[Ruby/Module/private instance methods|private_instance_methods]]</code>: يعيد قائمة بتوابع النسخة (instance methods) الخاصة (private) المعرفة في mod. | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Module.html#method-i-protected قسم التابع protected في الصنف Module في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Module.html#method-i-protected قسم التابع protected في الصنف Module في توثيق روبي الرسمي.] | ||
مراجعة 09:45، 27 أكتوبر 2018
في حال استدعاء التابع protected دون تمرير أي وسائط، فسيضبط المنظورية (visibility) الافتراضية للتوابع المعرفة لاحقًا عند القيمة protected. أما في حال تمرير وسائط، فسيضبط منظورية التوابع المعطاة عند القيمة protected. تُحول الوسائط النصية String إلى رموز.
إن كانت منظورية تابع محمية (protected)، فلن يكون قابلًا للاستدعاء إلا عندما يكون المتغير self الخاص بالسياق هو التابع نفسه. (في تعريف التابع أو instance_eval). يختلف هذا السلوك عن الأسلوب المحمي في Java. وعادة ما يجب استخدام private.
لاحظ أن التوابع المحمية بطيئة لأنه لا يمكنها استخدام ذاكرة التخزين المؤقت المضمّنة (inline cache).
لإظهار تابع خاص على RDoc، استخدم :doc: بدلاً من هذا.
البنية العامة
protected → self
protected(symbol, ...)→ self
protected(string, ...)→ self
المعاملات
symbol
رمز يمثل التابع.
string
سلسلة نصية تمثل التابع.
القيمة المُعادة
يعيد التابع protected الكائن الكائن self.
انظر أيضا
- التابع
private_method_defined?: يعيد القيمةtrueإن كان التابع الخاص المعطى معرفًا من طرف_mod_ - التابع
protected_instance_methods: يعيد قائمة بتوابع النسخة (instance methods) المحمية المعرفة فيmod. - التابع
private_instance_methods: يعيد قائمة بتوابع النسخة (instance methods) الخاصة (private) المعرفة في mod.