التابع new
في الصنف Class
في روبي
يُنشئ التابع new
صنفًا جديدًا مجهولًا غير مسمى (unnamed) من الصنف الأب ( superclass) المُمرَّر إليه (أو من الصنف Object
إن لم يمرر إليه أي شيء). يمكن إعطاء صنف ما اسمًا عن طريق تعيين كائن الصنف (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) للصنف المستدعى معه.