التابع const_get
الخاص بالصنف Module
في روبي
يتحقق التابع 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 يمثل الثابتة غير المعرفة، ويعيد قيمة ليتم استخدامها بدل ذلك الثابت. الشيفرة التالية مثال على ذلك: