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