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

من موسوعة حسوب
< Ruby‏ | Module
اذهب إلى التنقل اذهب إلى البحث
ط (مراجعة وتدقيق.)
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>extend_object‎</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: التابع <code>Module.extend_object‎</code> في روبي}}</noinclude>
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Module]]
+
[[تصنيف: Ruby Module Class]]
يوسع التابع <code>extend_object</code> الكائن المعطى <code>obj</code> بإضافة ثوابت و توابع هذه الوحدة (والتي تُضاف كتوابع فردية [singleton methods]).  
+
يوسع التابع <code>extend_object</code> الكائن المعطى بإضافة ثوابت و توابع هذه الوحدة (والتي تُضاف كتوابع فردية [singleton methods]).  
  
هذا هو التابع المستخدم من قبل <code>[[Ruby/Object/extend|Object#extend]]</code>.
+
هذا هو التابع المستخدم من قبل <code>[[Ruby/Object/extend|Object.extend]]</code>.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">extend_object(obj) → obj‎</syntaxhighlight>
 
<syntaxhighlight lang="ruby">extend_object(obj) → obj‎</syntaxhighlight>
سطر 11: سطر 11:
 
===<code>obj‎</code>===
 
===<code>obj‎</code>===
  
كائن.
+
الكائن المراد توسعته.
==القيمة المُعادة==
+
==القيمة المعادة==
يعيد الكائن <code>obj</code>.
+
يعاد الكائن <code>obj</code> بعد توسيعه.
  
 
==أمثلة==
 
==أمثلة==
سطر 28: سطر 28:
 
end
 
end
 
(s = Array.new).extend Picky  # Call Object.extend
 
(s = Array.new).extend Picky  # Call Object.extend
(s = "quick brown fox").extend Picky‎</syntaxhighlight>الناتج:<syntaxhighlight lang="ruby">Picky added to Array
+
(s = "quick brown fox").extend Picky‎</syntaxhighlight>ناتج تنفيذ هذا المثال هو:<syntaxhighlight lang="text">Picky added to Array
 
Can't add Picky to a String‎</syntaxhighlight>
 
Can't add Picky to a String‎</syntaxhighlight>
 
==انظر أيضا==
 
==انظر أيضا==
* التابع <code>[[Ruby/Module/extended|extended]]</code>: يكافئ <code>included</code>، إلا أنه يُستخدم مع الوحدات الموسعة (extended modules).
+
* التابع <code>[[Ruby/Module/extended|extended]]</code>: يكافئ <code>included</code> إلا أنه يُستخدم مع الوحدات الموسعة (extended modules).
  
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Module.html#method-i-extend_object قسم التابع extend_object‎ في الصنف Module‎ في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/Module.html#method-i-extend_object قسم التابع extend_object‎ في الصنف Module‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 11:52، 19 نوفمبر 2018

يوسع التابع extend_object الكائن المعطى بإضافة ثوابت و توابع هذه الوحدة (والتي تُضاف كتوابع فردية [singleton methods]).

هذا هو التابع المستخدم من قبل Object.extend.

البنية العامة

extend_object(obj)  obj

المعاملات

obj‎

الكائن المراد توسعته.

القيمة المعادة

يعاد الكائن obj بعد توسيعه.

أمثلة

مثال على استخدام التابع extend_object‎:

module Picky
  def Picky.extend_object(o)
    if String === o
      puts "Can't add Picky to a String"
    else
      puts "Picky added to #{o.class}"
      super
    end
  end
end
(s = Array.new).extend Picky  # Call Object.extend
(s = "quick brown fox").extend Picky

ناتج تنفيذ هذا المثال هو:

Picky added to Array
Can't add Picky to a String‎

انظر أيضا

  • التابع extended: يكافئ included إلا أنه يُستخدم مع الوحدات الموسعة (extended modules).

مصادر