• 0

كيف أتأكد ما إذا كان الصنف موجودا في سكربت روبي؟

لدي اسم صنف معين موجود في سلسلة نصية في لغة روبي وأريد أن أتأكد هل هذا الصنف موجود في سكربت روبي أم لا، فما هي أسهل طريقة لفعل ذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك طرق مختلفة لمعرفة وجود صنف معين في برنامج لغة روبي، فيمكنك على سبيل المثال استخدام Module.const_get للحصول على الثابت (constant) التي أشارت إليها السلسلة النصية، وعند استخدام تلك الدالة فسترجع لك ثابت (الأصناف في الغالب يتم الإشارة إليها عن طريق ثابت)، يمكنك بعد ذلك التأكد ما إذا كان الثابت صنف أم لا.
مثال بسيط حول استخدام  Module.const_get:

def class_exists?(class_name)
  klass = Module.const_get(class_name)
  return klass.is_a?(Class)
rescue NameError
  return false
end

كما يمكنك فعلك ذلك بطريقة أقصر كما تبدو في المثال التالي:

if defined?(MyClassName) == 'constant' && MyClassName.class == Class  
   puts "its a class"
end


انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن