التابع ?Object.respond_to في روبي

من موسوعة حسوب
< Ruby‏ | Object

يتحقَّق التابع ?respond_to من استجابة الكائن الذي استدعي معه للتابع المُمرَّر إليه. ستُشمَل التوابع الخاصة والمحميَّة في عملية البحث فقط إذا مُرِّرت القيمة true إلى المعامل الثاني في التابع.

إذا كان التابع غير مُنفَّذ، مثل التابع Process.fork في أنظمة ويندوز، والتابع File.lchmod في أنظمة GNU/Linux وغيرهما، فستُعاد القيمة false.

إذا كان التابع غير معرَّفٍ، فسيُستدعى التابع ?respond_to_missing وتُعاد النتيجة.

إن أعطي معامل اسم التابع بشكل سلسلةٍ نصية، فستُحوَّل هذه السلسلة النصية إلى رمز.

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

respond_to?(symbol, include_all=false)  true or false
respond_to?(string, include_all=false)  true or false

المعاملات

symbol

الرَّمزُ المعرِّف للتابع المُعطى.

include_all

يأخذ هذا المعامل القيمة false (افتراضيًا)، أو القيمة true.

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

تُعاد القيمة true إذا استجاب الكائن المعطى للتابع المشار إليه بالرمز sympol، أو تُعاد القيمة false إذا كان التابع غير مُنفَّذ.

انظر أيضًا

  • التابع ?eql: يتحقَّق من استخدام كلا الكائنين نفس مفتاح التجزئة.
  • التابع ?nil: يتحقَّق فيما إذا كان الكائن المعطى هو nil أم لا.
  • التابع ?instance_of: يتحقَّق إذا كان الكائن الذي استدعي معه نسخةً من الصِّنف المُمرَّر إليه.
  • التابع ?instance_variable_defined: يتحقَّق إذا كان متغيِّر النسخة المُمرَّر إليه مُعرَّفًا في الكائن المعطى.
  • التابع ?is_a: يتحقَّق إن كان الصنف المُمرَّر إليه هو نفسه صنف الكائن الذي استدعي معه، أو إن كان هذا الصنف أحد الأصناف العليا للكائن المعطى أو الوحدات المُضمَّنة في هذا الكائن.
  • التابع ?kind_of: يتحقَّق إن كان الصنف المُمرَّر إليه هو نفسه صنف الكائن المعطى، أو أنه واحدٌ من الأصناف العليا لذلك الكائن أو الوحدات المُضمَّنة فيه.
  • التابع ?respond_to_missing: يتحقَّق فيما إذا كان الكائن المعطى يستجيب إلى تابعٍ محدِّدٍ أم لا.

مصادر