التابع Object.send في روبي
يَستدعي التابع 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: يَحذِف متغيِّر نسخةٍ باسمٍ محدَّدٍ من الكائن الذي استدعي معه ويُعيد قيمة ذلك المتغيِّر.