الفرق بين المراجعتين لصفحة: «Ruby/Module/protected»

من موسوعة حسوب
< Ruby‏ | Module
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>protected‎</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude> تصنيف: Ruby تص...'
 
ط مراجعة وتدقيق.
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>protected‎</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude>
<noinclude>{{DISPLAYTITLE: التابع <code>Module.protected‎</code> في روبي}}</noinclude>
[[تصنيف: Ruby]]
[[تصنيف: Ruby]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Module]]
[[تصنيف: Ruby Module Class]]
في حال استدعاء التابع <code>protected</code> دون تمرير أي وسائط، قسيضبط المنظورية (visibility) الافتراضية للتوابع المعرفة لاحقًا عند القيمة protected. أما في حال تمرير وسائط، فسيضبط منظورية التوابع المعطاة عند القيمة protected. تُحول الوسائط النصية <code>String</code> إلى رموز.
يعين التابع <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> المحمية. 
إن كانت منظورية تابع تساوي protected، فلن يكون قابلًا للاستدعاء إلا عندما يكون <code>self</code> الخاص بالسياق هو التابع نفسه. (تعريف التابع أو instance_eval). يختلف هذا السلوك عن الأسلوب المحمي في Java. عادة ما يُستخدم <code>private</code>.
 
لاحظ أن التوابع المحمية بطيئة لأنه لا يمكنها استخدام ذاكرة التخزين المؤقت المضمّنة (inline cache).
إن كانت مرئية تابعٍ محمية، فلن يكون قابلًا للاستدعاء إلا عندما يكون المتغير <code>self</code> الخاص بالسياق هو التابع نفسه. (في تعريف التابع أو <code>instance_eval</code>). يختلف هذا السلوك عن الأسلوب المحمي في Java. وعادة ما يجب استخدام <code>private</code>.
لإظهار تابع خاص على RDoc، استخدم XXXX بدلاً من هذا.
 
لاحظ أن التوابع المحمية بطيئة لأنه لا يمكنها استخدام ذاكرة التخزين المؤقتة الداخلية (inline cache).
 
لإظهار تابع خاص على RDoc، استخدم <code>:doc:</code>.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">protected → self
<syntaxhighlight lang="ruby">protected → self
سطر 13: سطر 16:
==المعاملات==
==المعاملات==
===<code>symbol‎</code>===
===<code>symbol‎</code>===
 
[[Ruby/Symbol|رمز]] يمثل التابع المراد ضبط مرئيته إلى محمية.
===<code>...‎</code>===


===<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/private_method_defined-3F|private_method_defined?]]</code>: يعيد  القيمة <code>true</code> إن كان التابع الخاص المعطى معرفًا من طرف _ mod_ (أو الوحدات المتضمنة فيه، وإن كان صنفًا، فأسلافه[ancestors]). تُحول الوسائط النصية <code>String</code> إلى رموز.
*التابع <code>[[Ruby/Module/protected method defined-3F|protected_method_defined?]]</code>: يتحقق إن كان التابع المحمي (protected) المعطى معرفًا في الوحدة (أو الوحدات المُتضمنة فيه، أو أسلافه إن كان صنفًا).
* التابع <code>[[Ruby/Module/protected_instance_methods|protected_instance_methods]]</code>: يعيد  قائمة بتوابع النسخة (instance methods) المحمية المعرفة في mod. إذا كان الوسيط الاختياري يساوي <code>false</code> ، فلن تُتضمّن توابع الأسلاف (ancestors).
*التابع <code>[[Ruby/Module/protected instance methods|protected_instance_methods]]</code>: يعيد  قائمة بتوابع النسخة (instance methods) المحمية المعرفة في الوحدة.
 
*التابع <code>[[Ruby/Module/private instance methods|private_instance_methods]]</code>: يعيد قائمة بتوابع النسخة الخاصة المعرفة في الوحدة.
==مصادر==
==مصادر==
*[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‎ في توثيق روبي الرسمي.]

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

مصادر