الفرق بين المراجعتين لصفحة: «Ruby/Object/extend»
أنشأ الصفحة ب'{{DISPLAYTITLE:التابع Object.extend في روبي}} يُضيف التابع <code>extend</code> توابع النسخة (instance) من كُلِّ وحدةٍ مُ...' |
طلا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
{{DISPLAYTITLE:التابع Object.extend في روبي}} | {{DISPLAYTITLE:التابع <code>Object.extend</code> في روبي}} | ||
يُضيف التابع <code>extend</code> توابع النسخة (instance) من كُلِّ وحدةٍ مُرِّرت إليه إلى الكائن الذي استدعي معه. | يُضيف التابع <code>extend</code> توابع النسخة (instance) من كُلِّ وحدةٍ مُرِّرت إليه إلى الكائن الذي استدعي معه. | ||
سطر 10: | سطر 9: | ||
== المعاملات == | == المعاملات == | ||
=== module === | === <code>module</code> === | ||
الوحدة المراد إضافة توابع النسخة منها. | الوحدة المراد إضافة توابع النسخة منها. | ||
سطر 17: | سطر 16: | ||
== أمثلة == | == أمثلة == | ||
مثالٌ عن استخدام التابع extend: | مثالٌ عن استخدام التابع <code>extend</code>:<syntaxhighlight lang="ruby"> | ||
module Mod | module Mod | ||
def hello | |||
"Hello from Mod.\n" | |||
end | |||
end | end | ||
class Klass | class Klass | ||
def hello | |||
"Hello from Klass.\n" | |||
end | |||
end | end | ||
k = Klass.new | k = Klass.new | ||
k.hello #=> "Hello from Klass.\n" | |||
k.extend(Mod) #=> #<Klass:0x401b3bc8> | |||
k.hello #=> "Hello from Mod.\n" | |||
</syntaxhighlight> | |||
== انظر أيضًا == | |||
*التابع <code>[[Ruby/Object/itself|itself]]</code>: يُعيد الكائن المستقبل. | |||
*التابع <code>[[Ruby/Object/inspect|inspect]]</code>: يُعيد سلسلةً نصيةً تحتوي تمثيلًا يفهمه البشر للكائن الذي استدعي معه. | |||
*التابع <code>[[Ruby/Object/to s|to_s]]</code>: يُعيد سلسلةً نصيةً تُمثِّل الكائن الذي استدعي معه. | |||
* التابع <code>[[Ruby/Object/object id|object_id]]</code>: يعيد مُعرِّفا عدديًا للكائن الذي استُدعي معه. | |||
* التابع <code>[[Ruby/Object/display|display]]</code>: يَطبع الكائن الذي استدعي معه على المنفذ المعطى. | |||
* التابع object_id: يعيد مُعرِّفا عدديًا للكائن الذي استُدعي معه. | |||
* التابع display: يَطبع الكائن الذي استدعي معه على المنفذ المعطى. | |||
== مصادر == | == مصادر == |
المراجعة الحالية بتاريخ 17:45، 22 نوفمبر 2018
يُضيف التابع extend
توابع النسخة (instance) من كُلِّ وحدةٍ مُرِّرت إليه إلى الكائن الذي استدعي معه.
البنية العامة
extend(module, ...) → obj
المعاملات
module
الوحدة المراد إضافة توابع النسخة منها.
القيم المعادة
يُعاد الكائن المعطى مضافًا إليه توابع النسخة من الوحدات المُمرَّرة.
أمثلة
مثالٌ عن استخدام التابع extend
:
module Mod
def hello
"Hello from Mod.\n"
end
end
class Klass
def hello
"Hello from Klass.\n"
end
end
k = Klass.new
k.hello #=> "Hello from Klass.\n"
k.extend(Mod) #=> #<Klass:0x401b3bc8>
k.hello #=> "Hello from Mod.\n"
انظر أيضًا
- التابع
itself
: يُعيد الكائن المستقبل. - التابع
inspect
: يُعيد سلسلةً نصيةً تحتوي تمثيلًا يفهمه البشر للكائن الذي استدعي معه.
- التابع
to_s
: يُعيد سلسلةً نصيةً تُمثِّل الكائن الذي استدعي معه.
- التابع
object_id
: يعيد مُعرِّفا عدديًا للكائن الذي استُدعي معه. - التابع
display
: يَطبع الكائن الذي استدعي معه على المنفذ المعطى.