الفرق بين المراجعتين لصفحة: «Ruby/Module/instance methods»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>instance_methods</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude> تصنيف: Ruby...' |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: التابع <code>instance_methods | <noinclude>{{DISPLAYTITLE: التابع <code>Module.instance_methods</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Module]] | [[تصنيف: Ruby Module Class]] | ||
يعيد التابع <code>instance_methods</code> | يعيد التابع <code>instance_methods</code> مصفوفةً تحتوي على أسماء توابع النسخ (instance methods) العامة والمحمية (protected) في المستقبِل. بالنسبة [[Ruby/Module|للوحدات]]، ستكون التوابع هي العامة والمحمية. أما بالنسبة للأصناف، فستكون تلك التوابع هي توابع النسخ (وليس التوابع المفردة [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). | |||
==القيمة | ==القيمة المعادة== | ||
تعاد مصفوفة تحتوي على أسماء توابع النسخ العامة والمحمية (protected) في المستقبِل. | |||
==أمثلة== | ==أمثلة== | ||
سطر 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>[[Ruby/Module/instance_method|instance_method]]</code>: يعيد كائنًا من النوع <code>[[Ruby/UnboundMethod|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 قسم | *[http://ruby-doc.org/core-2.5.1/Module.html#method-i-instance_methods قسم التابع instance_methods في الصنف Module في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 12:25، 19 نوفمبر 2018
يعيد التابع instance_methods
مصفوفةً تحتوي على أسماء توابع النسخ (instance methods) العامة والمحمية (protected) في المستقبِل. بالنسبة للوحدات، ستكون التوابع هي العامة والمحمية. أما بالنسبة للأصناف، فستكون تلك التوابع هي توابع النسخ (وليس التوابع المفردة [singleton methods]). إذا كان أعطي المعامل الاختيار وكانت قيمته false
، فلن يتم تضمين توابع الأسلاف (ancestors).
البنية العامة
instance_methods(include_super=true)→ array
المعاملات
include_super
قيمة منطقية إن أعطيت وكانت false
، فلن يتم تضمين توابع الأسلاف (ancestors).
القيمة المعادة
تعاد مصفوفة تحتوي على أسماء توابع النسخ العامة والمحمية (protected) في المستقبِل.
أمثلة
مثال على استخدام التابع 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).