الفرق بين المراجعتين ل"Ruby/Module/extend object"
اذهب إلى التنقل
اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>extend_object</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude> تصنيف: Ruby ...') |
جميل-بيلوني (نقاش | مساهمات) ط (مراجعة وتدقيق.) |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 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.extend]]</code>. | |
− | < | ||
− | |||
==البنية العامة== | ==البنية العامة== | ||
<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="text">Picky added to Array |
+ | 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> | ||
==مصادر== | ==مصادر== | ||
− | *[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).