الفرق بين المراجعتين لصفحة: «Ruby/Class/allocate»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>allocate</code> في الصنف <code>Class</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby M...' |
لا ملخص تعديل |
||
| سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby ARGF]] | [[تصنيف: Ruby ARGF]] | ||
يحجز التابع <code>allocate</code> مساحةً من الذاكرة لكائن جديد من الصنف <code>class</code> دون استدعاء التابع <code>initialize</code> مع النسخة ( | يحجز التابع <code>allocate</code> مساحةً من الذاكرة لكائن جديد من الصنف <code>class</code> دون استدعاء التابع <code>initialize</code> مع النسخة (instance) الجديدة. يجب أن يكون الكائن المُعاد نسخةً من الصنف <code>class</code>. | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby"> allocate() → obj | <syntaxhighlight lang="ruby"> allocate() → obj | ||
| سطر 25: | سطر 25: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
* التابع [[Ruby/Class/new | <code>new</code>]]: يُنشئ صنفًا جديدًا مجهولًا غير مسمى (<code>unnamed</code>) من الصنف الأب ( | * التابع [[Ruby/Class/new | <code>new</code>]]: يُنشئ صنفًا جديدًا مجهولًا غير مسمى (<code>unnamed</code>) من الصنف الأب ( <code>superclass</code>) الممرر إليه (أو من الصنف <code>Object</code> إن لم يمرر إليه أي شيء). | ||
* التابع [[Ruby/Class/inherited | <code>inherited</code>]]: يُستدعَى كرد نداء في كل مرة يُنشأ فيها صنف فرعي (<code>subclass</code>) من الصنف الحالي. | * التابع [[Ruby/Class/inherited | <code>inherited</code>]]: يُستدعَى كرد نداء في كل مرة يُنشأ فيها صنف فرعي (<code>subclass</code>) من الصنف الحالي. | ||
* التابع [[Ruby/Class/superclass | <code>superclass</code>]]: يعيد الصنف الأب ( | * التابع [[Ruby/Class/superclass | <code>superclass</code>]]: يعيد الصنف الأب ( <code>superclass</code>) للصنف المستدعى معه. | ||
==مصادر== | ==مصادر== | ||
* قسم التابع allocate في الصنف Class في توثيق روبي الرسمي. | * [http://ruby-doc.org/core-2.5.1/Class.html#method-i-allocate قسم التابع allocate في الصنف Class في توثيق روبي الرسمي.] | ||
مراجعة 14:18، 12 سبتمبر 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) للصنف المستدعى معه.