الفرق بين المراجعتين لصفحة: «Ruby/Class/allocate»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
| (مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
| سطر 2: | سطر 2: | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby | [[تصنيف: Ruby Class]] | ||
يحجز التابع <code>allocate</code> مساحةً من الذاكرة لكائن جديد من الصنف <code>class</code> دون استدعاء التابع <code>initialize</code> مع النسخة (instance) الجديدة. يجب أن يكون الكائن المُعاد نسخةً من الصنف <code>class</code>. | يحجز التابع <code>allocate</code> مساحةً من الذاكرة لكائن جديد من الصنف <code>class</code> دون استدعاء التابع <code>initialize</code> مع النسخة (instance) الجديدة. يجب أن يكون الكائن المُعاد نسخةً من الصنف <code>class</code>. | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby"> allocate() → obj | <syntaxhighlight lang="ruby">allocate() → obj | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==القيم المعادة== | ==القيم المعادة== | ||
| سطر 11: | سطر 11: | ||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>allocate</code>: | مثال على استخدام التابع <code>allocate</code>: | ||
<syntaxhighlight lang="ruby"> klass = Class.new do | <syntaxhighlight lang="ruby">klass = Class.new do | ||
def initialize(*args) | def initialize(*args) | ||
@initialized = true | @initialized = true | ||
| سطر 25: | سطر 25: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
* التابع [[Ruby/Class/new | <code>new</code>]]: يُنشئ صنفًا جديدًا مجهولًا غير مسمى ( | * التابع<nowiki/>[[Ruby/Class/new | <code>new</code>]]: يُنشئ صنفًا جديدًا مجهولًا غير مسمى (unnamed) من الصنف الأب (superclass) الممرر إليه (أو من الصنف <code>Object</code> إن لم يمرر إليه أي شيء). | ||
* التابع [[Ruby/Class/inherited | <code>inherited</code>]]: يُستدعَى كرد نداء في كل مرة يُنشأ فيها صنف فرعي ( | * التابع<nowiki/>[[Ruby/Class/inherited | <code>inherited</code>]]: يُستدعَى كرد نداء في كل مرة يُنشأ فيها صنف فرعي (subclass) من الصنف الحالي. | ||
* التابع [[Ruby/Class/superclass | <code>superclass</code>]]: يعيد الصنف الأب ( | * التابع<nowiki/>[[Ruby/Class/superclass | <code>superclass</code>]]: يعيد الصنف الأب (superclass) للصنف المستدعى معه. | ||
==مصادر== | ==مصادر== | ||
* [http://ruby-doc.org/core-2.5.1/Class.html#method-i-allocate قسم التابع allocate في الصنف Class في توثيق روبي الرسمي.] | * [http://ruby-doc.org/core-2.5.1/Class.html#method-i-allocate قسم التابع allocate في الصنف Class في توثيق روبي الرسمي.] | ||
المراجعة الحالية بتاريخ 08:50، 4 أكتوبر 2018
يحجز التابع allocate مساحةً من الذاكرة لكائن جديد من الصنف class دون استدعاء التابع initialize مع النسخة (instance) الجديدة. يجب أن يكون الكائن المُعاد نسخةً من الصنف class.
البنية العامة
allocate() → obj
القيم المعادة
يعاد كائن من الصنف class.
أمثلة
مثال على استخدام التابع allocate:
klass = Class.new do
def initialize(*args)
@initialized = true
end
def initialized?
@initialized || false
end
end
klass.allocate.initialized? #=> false
انظر أيضًا
- التابع
new: يُنشئ صنفًا جديدًا مجهولًا غير مسمى (unnamed) من الصنف الأب (superclass) الممرر إليه (أو من الصنفObjectإن لم يمرر إليه أي شيء). - التابع
inherited: يُستدعَى كرد نداء في كل مرة يُنشأ فيها صنف فرعي (subclass) من الصنف الحالي. - التابع
superclass: يعيد الصنف الأب (superclass) للصنف المستدعى معه.