الفرق بين المراجعتين لصفحة: «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).

مصادر