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