التابع Object.send في روبي

من موسوعة حسوب
< Ruby‏ | Object
مراجعة 15:03، 24 نوفمبر 2018 بواسطة محمد-خطيب (نقاش | مساهمات) (أنشأ الصفحة ب'{{DISPLAYTITLE:التابع Object.send في روبي}} يَستدعي التابع <code>send</code> التابع المعرَّف برمزٍ (symbol) ويُنفَّذ...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث


يَستدعي التابع send التابع المعرَّف برمزٍ (symbol) ويُنفَّذه تلقائيًا ويمرِّر إليه أي معاملاتٍ معطاة. يمكنك استخدام الاسم __send__ البديل إذا تضارب الاسم مع توابع موجودةٍ في الكائن تحمل نفس الاسم.

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

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

send(symbol [, args...])  obj
__send__(symbol [, args...])  obj
send(string [, args...])  obj
__send__(string [, args...])  obj

المعاملات

symbol

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

...args

المعاملات المراد تمريرها إلى التابع.

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

يُعاد الكائن الناتج عن تنفيذ التابع المُستدعى.

أمثلة

مثالٌ عن استخدام التابع send:

class Klass

 def hello(*args)

   "Hello " + args.join(' ')

 end

end

k = Klass.new

k.send :hello, "gentle", "readers"   #=> "Hello gentle readers"

انظر أيضًا

  • التابع public_method: يبحث عن التوابع العامة فقط بشكل مشابه لعمل التابع method.
  • التابع method: يبحث عن تابعٍ باسمٍ محدَّد في الكائن المعطى بوصفه مستقبلًا.
  • التابع public_send: يَستدعي التابع المعرَّف برمزٍ محدَّدٍ ويُنفَّذه تلقائيًا مع تمرير أي معاملاتٍ معطاة.
  • التابع remove_instance_variable: يَحذِف متغيِّر نسخةٍ باسمٍ محدَّدٍ من الكائن الذي استدعي معه ويُعيد قيمة ذلك المتغيِّر.

مصادر