الفرق بين المراجعتين لصفحة: «Ruby/Class/ new»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 2: | سطر 2: | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby | [[تصنيف: Ruby Class]] | ||
يُنشئ التابع <code>new</code> صنفًا جديدًا مجهولًا غير مسمى (unnamed) من الصنف الأب ( <code>superclass</code>) الممرر إليه (أو من الصنف <code>Object</code> إن لم يمرر إليه أي شيء). يمكن إعطاء صنف ما اسمًا عن طريق تعيين كائن الصنف[(class object) وإعطائه قيمة ثابتة. | يُنشئ التابع <code>new</code> صنفًا جديدًا مجهولًا غير مسمى (unnamed) من الصنف الأب ( <code>superclass</code>) الممرر إليه (أو من الصنف <code>Object</code> إن لم يمرر إليه أي شيء). يمكن إعطاء صنف ما اسمًا عن طريق تعيين كائن الصنف[(class object) وإعطائه قيمة ثابتة. | ||
مراجعة 14:25، 12 سبتمبر 2018
يُنشئ التابع 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
) للصنف المستدعى معه.