الفرق بين المراجعتين لصفحة: «Ruby/Module/instance methods»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>instance_methods</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude> تصنيف: Ruby...' |
لا ملخص تعديل |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Module]] | [[تصنيف: Ruby Module]] | ||
يعيد التابع <code>instance_methods</code> مصفوفة تحتوي على أسماء توابع النسخ (instance methods) العامة والمحمية (protected) في المستقبِل (receiver). بالنسبة للوحدات، | يعيد التابع <code>instance_methods</code> مصفوفة تحتوي على أسماء توابع النسخ (instance methods) العامة والمحمية (protected) في المستقبِل (receiver). بالنسبة للوحدات، ستكون التوابع العامة والمحمية. أما بالنسبة للأصناف، فستكون توابع النسخ (وليس التوابع المفردة [singleton methods]). إذا كان الوسيط الاختياري المعطى يساوي <code>false</code>، فلن يتم تضمين توابع الأسلاف (ancestors). | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">instance_methods(include_super=true)→ array</syntaxhighlight> | <syntaxhighlight lang="ruby">instance_methods(include_super=true)→ array</syntaxhighlight> | ||
سطر 9: | سطر 9: | ||
===<code>include_super</code>=== | ===<code>include_super</code>=== | ||
في حال إعطائه القيمة<code>false</code>، فلن يتم تضمين توابع الأسلاف (ancestors). | |||
==القيمة المُعادة== | ==القيمة المُعادة== | ||
عيد التابع <code>instance_methods</code> مصفوفة تحتوي على أسماء توابع النسخ العامة والمحمية (protected) في المستقبِل (receiver). | |||
==أمثلة== | ==أمثلة== | ||
سطر 30: | سطر 31: | ||
C.instance_methods.include?(:method2) #=> true</syntaxhighlight> | C.instance_methods.include?(:method2) #=> true</syntaxhighlight> | ||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Module/instance_method|instance_method]]</code>: يعيد كائن <code>UnboundMethod</code> يمثل تابع النسخة (instance method) المعطى في الوحدة . | * التابع <code>[[Ruby/Module/instance_method|instance_method]]</code>: يعيد كائن <code>UnboundMethod</code> يمثل تابع النسخة (instance method) المعطى في الوحدة. | ||
* التابع <code>[[Ruby/Module/method_added|method_added]]</code>: يُستدعى في كل مرة يُضاف تابع نسخة (instance method) إلى المُستقبِل (receiver). | * التابع <code>[[Ruby/Module/method_added|method_added]]</code>: يُستدعى في كل مرة يُضاف تابع نسخة (instance method) إلى المُستقبِل (receiver). | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Module.html#method-i-instance_methods قسم التابع instance_methods في الصنف Module في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Module.html#method-i-instance_methods قسم التابع instance_methods في الصنف Module في توثيق روبي الرسمي.] |
مراجعة 01:33، 27 أكتوبر 2018
يعيد التابع instance_methods
مصفوفة تحتوي على أسماء توابع النسخ (instance methods) العامة والمحمية (protected) في المستقبِل (receiver). بالنسبة للوحدات، ستكون التوابع العامة والمحمية. أما بالنسبة للأصناف، فستكون توابع النسخ (وليس التوابع المفردة [singleton methods]). إذا كان الوسيط الاختياري المعطى يساوي false
، فلن يتم تضمين توابع الأسلاف (ancestors).
البنية العامة
instance_methods(include_super=true)→ array
المعاملات
include_super
في حال إعطائه القيمةfalse
، فلن يتم تضمين توابع الأسلاف (ancestors).
القيمة المُعادة
عيد التابع instance_methods
مصفوفة تحتوي على أسماء توابع النسخ العامة والمحمية (protected) في المستقبِل (receiver).
أمثلة
مثال على استخدام التابع instance_methods
:
module A
def method1() end
end
class B
include A
def method2() end
end
class C < B
def method3() end
end
A.instance_methods(false) #=> [:method1]
B.instance_methods(false) #=> [:method2]
B.instance_methods(true).include?(:method1) #=> true
C.instance_methods(false) #=> [:method3]
C.instance_methods.include?(:method2) #=> true
انظر أيضا
- التابع
instance_method
: يعيد كائنUnboundMethod
يمثل تابع النسخة (instance method) المعطى في الوحدة. - التابع
method_added
: يُستدعى في كل مرة يُضاف تابع نسخة (instance method) إلى المُستقبِل (receiver).