الفرق بين المراجعتين ل"Ruby/Class/allocate"

من موسوعة حسوب
< Ruby‏ | Class
اذهب إلى التنقل اذهب إلى البحث
ط (مراجعة وتدقيق.)
 
سطر 5: سطر 5:
 
يحجز التابع <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>]]: يُنشئ صنفًا جديدًا مجهولًا غير مسمى (<code>unnamed</code>) من الصنف الأب ( <code>superclass</code>) الممرر إليه (أو من الصنف <code>Object</code> إن لم يمرر إليه أي شيء).
+
* التابع<nowiki/>[[Ruby/Class/new | <code>new</code>]]: يُنشئ صنفًا جديدًا مجهولًا غير مسمى (unnamed) من الصنف الأب (superclass) الممرر إليه (أو من الصنف <code>Object</code> إن لم يمرر إليه أي شيء).
* التابع [[Ruby/Class/inherited | <code>inherited</code>]]: يُستدعَى كرد نداء في كل مرة يُنشأ فيها صنف فرعي (<code>subclass</code>) من الصنف الحالي.
+
* التابع<nowiki/>[[Ruby/Class/inherited | <code>inherited</code>]]: يُستدعَى كرد نداء في كل مرة يُنشأ فيها صنف فرعي (subclass) من الصنف الحالي.
* التابع [[Ruby/Class/superclass | <code>superclass</code>]]: يعيد الصنف الأب ( <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) للصنف المستدعى معه.

مصادر