• 0

ما الفرق بين send و __send__ في روبي؟

لقد فهمت منذ مدة مفهوم some_instance.send لكنني لم أفهم حتى الآن لماذا يمكنني استعمال طريقتين (send و __send__) لعمل نفس الشيء، فما هو السبب ؟

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


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

بعض الأصناف (مثل صنف المكتبة القياسية socket) تقوم بتعريف تابع send الخاص بها، وهذا لا يشبه Object#send، فإذا أردت أن تتعامل مع كائنات من أي صنف، سوف تحتاج إلى استخدام __send__ حتى لا تسبب لك بمشاكل لاحقا.

الآن قد تتسائل؛ لماذا يوجد send وليس فقط __send__، فإذا كانت __send__ فقط موجودة فسيصبح بالإمكان استخدام send من أية صنف أخرى بدون أي خلط، والسبب هو أن send قد وجدت أولا ولم يُعرف إلا لاحقا أن send يمكن أن يتم استخدامها في النصوص أخرى، لذلك تمت إضافة __send__ (وهذا نفس الشيء حدث مع id و object_id).

المصدر

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


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

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

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

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


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

تسجيل الدخول

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


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