التابع ‎[]‎‎ الخاص بالصنف Method في روبي

من موسوعة حسوب
< Ruby‏ | Method
مراجعة 19:40، 25 أكتوبر 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>‎[]‎‎</code> الخاص بالصنف <code>Method</code> في روبي}}</noinclude> تصنيف: Ruby تصن...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يستدعي التابع [] الكتلة البرمجية للتابع، ويضبط قيم وسائط الكتلة عند القيم المعطاة 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 إن كانت استدعاء تلك التوابع يأخذ عددًا متغيرًا من الوسائط.

مصادر