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

من موسوعة حسوب
< Ruby‏ | Class
اذهب إلى التنقل اذهب إلى البحث
سطر 2: سطر 2:
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby ARGF]]
+
[[تصنيف: 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) للصنف المستدعى معه.

مصادر