الفرق بين المراجعتين ل"Ruby/Module/instance methods"

من موسوعة حسوب
< Ruby‏ | Module
اذهب إلى التنقل اذهب إلى البحث
ط (مراجعة وتدقيق.)
 
(مراجعة متوسطة واحدة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>instance_methods‎</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: التابع <code>Module.instance_methods‎</code> في روبي}}</noinclude>
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Module]]
+
[[تصنيف: Ruby Module Class]]
يعيد التابع <code>instance_methods</code> مصفوفة تحتوي على أسماء توابع النسخ (instance methods) العامة والمحمية (protected) في المستقبِل (receiver). بالنسبة للوحدات، ستكون التوابع العامة والمحمية. أما بالنسبة للأصناف، فستكون توابع النسخ (وليس التوابع المفردة [singleton methods]). إذا كان الوسيط الاختياري المعطى يساوي <code>false</code>، فلن يتم تضمين توابع الأسلاف (ancestors).
+
يعيد التابع <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).
+
قيمة منطقية إن أعطيت وكانت <code>false</code>، فلن يتم تضمين توابع الأسلاف (ancestors).
==القيمة المُعادة==
+
==القيمة المعادة==
عيد التابع <code>instance_methods</code> مصفوفة تحتوي على أسماء توابع النسخ العامة والمحمية (protected) في المستقبِل (receiver).  
+
تعاد مصفوفة تحتوي على أسماء توابع النسخ العامة والمحمية (protected) في المستقبِل.  
  
 
==أمثلة==
 
==أمثلة==
سطر 31: سطر 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>[[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 قسم التابع instance_methods‎ في الصنف Module‎ في توثيق روبي الرسمي.]
+
*[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).

مصادر