التابع const_get‎ الخاص بالصنف Module في روبي

من موسوعة حسوب
< Ruby‏ | Module
مراجعة 22:24، 26 أكتوبر 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>const_get‎</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude> تصنيف: Ruby تص...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

يتحقق التابع const_get من وجود ثابت بالاسم المحدد في الوحدة الذي استُدعي معه. في حال تعيين inherit، فسيشمل البحث الأسلاف أيضًا (وكذلك Object إن كانت الوحدة من النوع Module). تُعاد قيمة الثابت إذا عُثر على تعريف ، خلا ذلك، سيُطلق NameError.

سيبحث التابع const_get عوديًا (recursively) عن أسماء الثوابت إذا تم توفير اسم صتف مربوط (namespaced class name). مثلا:

تُحترم الراية inherit عند كل بحث. مثلا:

إن لم يكن الوسيط اسم ثابت صالح، فسيُطلق الخطأ NameError مع التحذير "wrong constant name".

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

const_get(sym, inherit=true)  obj
const_get(str, inherit=true)  obj

المعاملات

sym‎

inherit‎

str‎

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

أمثلة

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

Math.const_get(:PI)   #=> 3.14159265358979‎

انظر أيضا

  • التابع const_defined?: يتحقق مما إذا كانت للوحدة أو أحد أسلافها (ancestors) ثابت بالاسم المعطى:
  • التابع const_missing: يُستدعى عند محاولة استخدام ثابت غير معرف في الوحدة. يُمرّر إليه رمز sym يمثل الثابتة غير المعرفة، ويعيد قيمة ليتم استخدامها بدل ذلك الثابت. الشيفرة التالية مثال على ذلك:

مصادر