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

من موسوعة حسوب
< Ruby‏ | Module
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>extend_object‎</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude> تصنيف: Ruby ...')
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Module]]
 
[[تصنيف: Ruby Module]]
يوسع التابع <code>extend_object</code> الكائن المعطى بإضافة ثوابت و توابع هذه الوحدة (التي تُضاف كتوابع فردية [singleton methods]). هذا هو التابع المستخدم من قبل <code>Object#extend</code>.
+
يوسع التابع <code>extend_object</code> الكائن المعطى <code>obj</code> بإضافة ثوابت و توابع هذه الوحدة (والتي تُضاف كتوابع فردية [singleton methods]).  
  
الناتج:
+
هذا هو التابع المستخدم من قبل <code>[[Ruby/Object/extend|Object#extend]]</code>.
<syntaxhighlight lang="ruby">Picky added to Array
 
Can't add Picky to a String‎</syntaxhighlight>
 
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">extend_object(obj) → obj‎</syntaxhighlight>
 
<syntaxhighlight lang="ruby">extend_object(obj) → obj‎</syntaxhighlight>
سطر 13: سطر 11:
 
===<code>obj‎</code>===
 
===<code>obj‎</code>===
  
 
+
كائن.
 
==القيمة المُعادة==
 
==القيمة المُعادة==
 +
يعيد الكائن <code>obj</code>.
  
 
==أمثلة==
 
==أمثلة==
سطر 29: سطر 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>
+
(s = "quick brown fox").extend Picky‎</syntaxhighlight>الناتج:<syntaxhighlight lang="ruby">Picky added to Array
 +
Can't add Picky to a String‎</syntaxhighlight>
 
==انظر أيضا==
 
==انظر أيضا==
* التابع <code>[[Ruby/Module/deprecate_constant|deprecate_constant]]</code>: يضع  قائمة بالثوابت الموجودة المُتجاوزة.
 
 
* التابع <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‎ في توثيق روبي الرسمي.]

مراجعة 23:49، 26 أكتوبر 2018

يوسع التابع extend_object الكائن المعطى obj بإضافة ثوابت و توابع هذه الوحدة (والتي تُضاف كتوابع فردية [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).

مصادر