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

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


===<code>string‎</code>===
===<code>string‎</code>===
 
سلسلة نصية تمثل التابع.
 
==القيمة المُعادة==
==القيمة المُعادة==
يعيد التابع <code>protected</code> الكائن الكائن <code>self</code>.


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

مصادر