الفرق بين المراجعتين لصفحة: «Ruby/Object/send»

من موسوعة حسوب
< Ruby‏ | Object
طلا ملخص تعديل
 
سطر 32: سطر 32:
*التابع <code>[[Ruby/Object/public method|public_method]]</code>: يبحث عن التوابع العامة فقط بشكل مشابه لعمل التابع <code>method</code>.
*التابع <code>[[Ruby/Object/public method|public_method]]</code>: يبحث عن التوابع العامة فقط بشكل مشابه لعمل التابع <code>method</code>.
*التابع <code>[[Ruby/Object/public method|method]]</code>: يبحث عن تابعٍ باسمٍ محدَّد في الكائن المعطى بوصفه مستقبلًا.
*التابع <code>[[Ruby/Object/public method|method]]</code>: يبحث عن تابعٍ باسمٍ محدَّد في الكائن المعطى بوصفه مستقبلًا.
*التابع <code>[[uby/Object/public send|public_send]]</code>: يَستدعي التابع المعرَّف برمزٍ محدَّدٍ ويُنفَّذه تلقائيًا مع تمرير أي معاملاتٍ معطاة.
*التابع <code>[[Ruby/Object/public send|public_send]]</code>: يَستدعي التابع المعرَّف برمزٍ محدَّدٍ ويُنفَّذه تلقائيًا مع تمرير أي معاملاتٍ معطاة.
*التابع <code>[[Ruby/Object/remove instance variable|remove_instance_variable]]</code>: يَحذِف متغيِّر نسخةٍ باسمٍ محدَّدٍ من الكائن الذي استدعي معه ويُعيد قيمة ذلك المتغيِّر.
*التابع <code>[[Ruby/Object/remove instance variable|remove_instance_variable]]</code>: يَحذِف متغيِّر نسخةٍ باسمٍ محدَّدٍ من الكائن الذي استدعي معه ويُعيد قيمة ذلك المتغيِّر.
==مصادر==
==مصادر==

المراجعة الحالية بتاريخ 07:25، 30 مارس 2019

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

مصادر