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