الفرق بين المراجعتين لصفحة: «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.