التابع []
الخاص بالصنف Method
في روبي
يستدعي التابع []
الكتلة البرمجية للتابع، ويضبط قيم وسائط الكتلة عند القيم المعطاة params باستخدام صياغة مشابهة لاستدعاء التوابع. يعيد التابع []
قيمة آخر تعبير تم تقييمه في الكتلة.
لاحظ أن prc.()
يستدعي prc.call()
مع الوسائط المعطاة. هي صياغة مختصرة لإخفاء "call".
بالنسبة لكائنات procs الذي تم إنشاؤه باستخدام lambda
أو ->()
، قسيُطلق خطأ إذا كان عدد الوسائط الممررة إلى proc غير مناسب. بالنسبة لكائنات proc التي تم إنشاؤها باستخدام Proc.new
أو Kernel.proc
، يتم تجاهل الوسائط الإضافية بصمت، وتُعطى للوسائط غير المُمررة القيمة nil
.
انظر أيضا Proc#lambda?
.
البنية العامة
prc[params,...] → obj
القيمة المُعادة
أمثلة
مثال على استخدام التابع []
:
a_proc = Proc.new {|scalar, *values| values.map {|value| value*scalar } }
a_proc.call(9, 1, 2, 3) #=> [9, 18, 27]
a_proc[9, 1, 2, 3] #=> [9, 18, 27]
a_proc.(9, 1, 2, 3) #=> [9, 18, 27]
a_proc.yield(9, 1, 2, 3) #=> [9, 18, 27]
انظر أيضا
- التابع
===
: يستدعي الكتلة مع تمرير المعاملobj
كوسيط لـ proc مثلProc#call
. يسمح لكائن proc أن يكون هدفًا للكتلةwhen
في التعليمة case. - التابع
arity
: يعيد مؤشرا لعدد الوسائط المقبولة من قبل التابع. يعيد عددًا صحيحًا غير سالب للتوابع التي تأخذ عددًا محددًا من الوسائطا. بالنسبة لتوابع روبي التي تأخذ عددًا متغيرًا من الوسائط، يًعاد العدد -n-1، حيث n هو عدد الوسائط المطلوبة. الوسائط المسماة (Keyword arguments) ستُعد وسيطاً إضافيًا واحدًا، وسيكون ذلك الوسيط إلزاميا إن كان أيٌّ من الوسائط المسماة كذلك. بالنسبة للتوابع المكتوبة بلغة C، سيُعاد العدد -1 إن كانت استدعاء تلك التوابع يأخذ عددًا متغيرًا من الوسائط.
مصادر
- قسم التابع [ في الصنف Method في توثيق روبي الرسمي.]