التابع new في الصنف Class في روبي

من موسوعة حسوب
< Ruby‏ | Class
مراجعة 14:13، 12 سبتمبر 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>new</code> في الصنف <code>Class</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يُنشئ التابع new صنفًا جديدًا مجهولًا غير مسمى (unnamed) من الصنف الأب ( superclass) الممرر إليه (أو من الصنف Object إن لم يمرر إليه أي شيء). يمكن إعطاء صنف ما اسمًا عن طريق تعيين كائن الصنف[a][b] (class object) وإعطائه قيمة ثابتة. إن أعطيت كتلة برمجية، فسيُمرَّر إليها كائن الصنف (class object)، وستقدَّر الكتلة في سياق ذلك الصنف كما هو الحال مع class_eval. عيِّن الصنف وأعطه قيمة ثابتة (يبدأ الاسم بأحرف كبيرة) إذا كنت تريد معاملته كصنف اعتيادي.

البنية العامة

 new(super_class=Object)  a_class
new(super_class=Object) { |mod| ... }  a_class

القيم المعادة

يعاد صنف.

أمثلة

مثال على استخدام التابع new:

 fred = Class.new do
 def meth1
   "hello"
 end
 def meth2
   "bye"
 end
end

a = fred.new     #=> #<#<Class:0x100381890>:0x100376b98>
a.meth1          #=> "hello"
a.meth2          #=> "bye"

انظر أيضًا

  • التابع allocate: يحجز مساحةً من الذاكرة لكائن جديد من الصنف class دون استدعاء التابع initialize مع النسخة (instance) الجديدة.
  • التابع inherited: يُستدعَى كرد نداء في كل مرة يُنشأ فيها صنف فرعي (subclass) من الصنف الحالي.
  • التابع new: يستدعي التابعَ allocate لإنشاء كائن جديد من الصنف class، ثم يستدعي التابع initialize مع ذلك الكائن المنشأ ويُمرِّر إليه وسائط محددة.
  • التابع superclass: يعيد الصنف الأب ( superclass) للصنف المستدعى معه.

مصادر

  • قسم التابع new في الصنف Class في توثيق روبي الرسمي.

[a]أم الكائن class؟ [b]جملتك صحيحة. اتركها.