الفرق بين المراجعتين لصفحة: «Ruby/Class/allocate»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>allocate</code> في الصنف <code>Class</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby M...' |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
(مراجعتان متوسطتان بواسطة مستخدم واحد آخر غير معروضتين) | |||
سطر 2: | سطر 2: | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby | [[تصنيف: Ruby Class]] | ||
يحجز التابع <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 | ||
</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) للصنف المستدعى معه. | ||
==مصادر== | ==مصادر== | ||
* قسم التابع 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) للصنف المستدعى معه.