الفرق بين المراجعتين ل"Ruby/Module/extend object"
اذهب إلى التنقل
اذهب إلى البحث
جميل-بيلوني (نقاش | مساهمات) ط (مراجعة وتدقيق.) |
|||
سطر 1: | سطر 1: | ||
− | <noinclude>{{DISPLAYTITLE: التابع <code>extend_object | + | <noinclude>{{DISPLAYTITLE: التابع <code>Module.extend_object</code> في روبي}}</noinclude> |
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
− | [[تصنيف: Ruby Module]] | + | [[تصنيف: Ruby Module Class]] |
− | يوسع التابع <code>extend_object</code> الكائن المعطى | + | يوسع التابع <code>extend_object</code> الكائن المعطى بإضافة ثوابت و توابع هذه الوحدة (والتي تُضاف كتوابع فردية [singleton methods]). |
− | هذا هو التابع المستخدم من قبل <code>[[Ruby/Object/extend|Object | + | هذا هو التابع المستخدم من قبل <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> بعد توسيعه. | |
==أمثلة== | ==أمثلة== | ||
سطر 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> | + | (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> | + | * التابع <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 قسم | + | *[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).