الفرق بين المراجعتين ل"Ruby/Object/public send"

من موسوعة حسوب
< Ruby‏ | Object
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'{{DISPLAYTITLE:التابع Object.public_send في روبي}} يَستدعي التابع <code>public_send</code> التابع المعرَّف برمزٍ (symbol) م...')
 
ط (نقل جميل-بيلوني صفحة uby/Object/public send إلى Ruby/Object/public send دون ترك تحويلة: تصحيح العنوان)
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
{{DISPLAYTITLE:التابع Object.public_send في روبي}}
+
{{DISPLAYTITLE:التابع <code>Object.public_send</code> في روبي}}
 
 
 
يَستدعي التابع <code>public_send</code> التابع المعرَّف برمزٍ (symbol) محدَّدٍ ويُنفَّذه تلقائيًا مع تمرير أي معاملاتٍ معطاة. خلافًا للتابع <code>send</code>، يَستدعي التابع <code>public_send</code> التوابع العامة فقط. إن عُرِّف التابع باستخدام سلسلةٍ نصيةٍ (string)، فستُحوَّل هذه السلسلة إلى رمز.
 
يَستدعي التابع <code>public_send</code> التابع المعرَّف برمزٍ (symbol) محدَّدٍ ويُنفَّذه تلقائيًا مع تمرير أي معاملاتٍ معطاة. خلافًا للتابع <code>send</code>، يَستدعي التابع <code>public_send</code> التوابع العامة فقط. إن عُرِّف التابع باستخدام سلسلةٍ نصيةٍ (string)، فستُحوَّل هذه السلسلة إلى رمز.
  
سطر 11: سطر 10:
 
== المعاملات ==
 
== المعاملات ==
  
=== symbol ===
+
=== <code>symbol</code> ===
 
الرَّمز المُعرِّف للتابع المراد استدعاءه.
 
الرَّمز المُعرِّف للتابع المراد استدعاءه.
  
=== string ===
+
=== <code>string</code> ===
 
سلسلة نصية تعرِّف التابع المراد استدعاءه.  ستُحوَّل هذه السلسلة إلى رمز إن أعطيت.
 
سلسلة نصية تعرِّف التابع المراد استدعاءه.  ستُحوَّل هذه السلسلة إلى رمز إن أعطيت.
  
=== ...args ===
+
=== <code>...args</code> ===
 
المعاملات المراد تمريرها إلى التابع الذي يراد استداعاؤه.
 
المعاملات المراد تمريرها إلى التابع الذي يراد استداعاؤه.
  
 
== القيم المعادة ==
 
== القيم المعادة ==
يُعاد الكائن الناتج عن تنفيذ التابع المُستدعى. يُرمى الاستثناء NoMethodError إذا لم يُوجد تابعٌ موافقٌ للرمز symbol أو السلسلة النصية string المُعطاة.
+
يُعاد الكائن الناتج عن تنفيذ التابع المُستدعى. يُرمى الاستثناء <code>NoMethodError</code> إذا لم يُوجد تابعٌ موافقٌ للرمز <code>symbol</code> أو السلسلة النصية <code>string</code> المُعطاة.
  
 
== أمثلة ==
 
== أمثلة ==
مثالٌ عن استخدام التابع public_send:
+
مثالٌ عن استخدام التابع <code>public_send</code>:<syntaxhighlight lang="ruby">
 
+
1.public_send(:puts, "hello") # causes NoMethodError
1.public_send(:puts, "hello")  # causes NoMethodError
+
</syntaxhighlight>
  
 
== انظر أيضًا ==
 
== انظر أيضًا ==
* التابع public_method: يبحث عن التوابع العامة فقط بشكل مشابه لعمل التابع method.
+
* التابع <code>[[Ruby/Object/public method|public_method]]</code>: يبحث عن التوابع العامة فقط بشكل مشابه لعمل التابع <code>method</code>.
* التابع method: يبحث عن تابعٍ باسمٍ محدَّد في الكائن المعطى بوصفه مستقبلًا.
+
* التابع <code>[[Ruby/Object/public method|method]]</code>: يبحث عن تابعٍ باسمٍ محدَّد في الكائن المعطى بوصفه مستقبلًا.
* التابع send: يَستدعي التابع المعرَّف برمزٍ (symbol) ويُنفَّذه تلقائيًا ويمرِّر إليه أي معاملاتٍ معطاة.
 
* التابع remove_instance_variable: يَحذِف متغيِّر نسخةٍ باسمٍ محدَّدٍ من الكائن الذي استدعي معه ويُعيد قيمة ذلك المتغيِّر.
 
  
 +
*التابع <code>[[Ruby/Object/send|send]]</code>: يَستدعي التابع المعرَّف برمزٍ (symbol) ويُنفَّذه تلقائيًا ويمرِّر إليه أي معاملاتٍ معطاة.
 +
*التابع <code>[[Ruby/Object/remove instance variable|remove_instance_variable]]</code>: يَحذِف متغيِّر نسخةٍ باسمٍ محدَّدٍ من الكائن الذي استدعي معه ويُعيد قيمة ذلك المتغيِّر.
 
== مصادر ==
 
== مصادر ==
 
* [http://ruby-doc.org/core-2.5.1/Object.html#method-i-public_send صفحة التابع public_send في الصنف Object في توثيق روبي الرسمي.]
 
* [http://ruby-doc.org/core-2.5.1/Object.html#method-i-public_send صفحة التابع public_send في الصنف Object في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 06:43، 3 فبراير 2019

يَستدعي التابع public_send التابع المعرَّف برمزٍ (symbol) محدَّدٍ ويُنفَّذه تلقائيًا مع تمرير أي معاملاتٍ معطاة. خلافًا للتابع send، يَستدعي التابع public_send التوابع العامة فقط. إن عُرِّف التابع باستخدام سلسلةٍ نصيةٍ (string)، فستُحوَّل هذه السلسلة إلى رمز.

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

public_send(symbol [, args...])  obj
public_send(string [, args...])  obj

المعاملات

symbol

الرَّمز المُعرِّف للتابع المراد استدعاءه.

string

سلسلة نصية تعرِّف التابع المراد استدعاءه.  ستُحوَّل هذه السلسلة إلى رمز إن أعطيت.

...args

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

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

يُعاد الكائن الناتج عن تنفيذ التابع المُستدعى. يُرمى الاستثناء NoMethodError إذا لم يُوجد تابعٌ موافقٌ للرمز symbol أو السلسلة النصية string المُعطاة.

أمثلة

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

1.public_send(:puts, "hello")  # causes NoMethodError

انظر أيضًا

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

مصادر