التابع Proc.new في روبي

من موسوعة حسوب
< Ruby‏ | Proc

يُنشئ التابع new كائنًا جديدًا من الصنف Proc، ويربطه إلى السياق الحالي. قد يُستدعى التابع new من دون كتلةٍ وهذا فقط ضمن التوابع المرفقة بكتل مُسبقًا، إذ تُحوَّل تلك الكتلة في مثل هذه الحالة إلى كائنٍ من النوع Proc.

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

new {|...| block }  a_proc
new  a_proc

المعاملات

الوسائط المُمرَّرة إلى الكتلة.

block

الكتلة المراد تمريرها إلى الكائن.

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

يُعاد كائنٌ من الصنف Proc.

أمثلة

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

def proc_from
  Proc.new
end
proc = proc_from { "hello" }
proc.call   #=> "hello"

انظر أيضًا

  • التابع hash: يحسب قيمة التجزئة الموافقة لجسم الكتلة proc التي استدعيت معه ثمَّ يعيدها.
  • التابع ?lambda: يتحقَّق إذا كانت معالجة الوسائط صارمةً في الكائن Proc.
  • التابع to_proc: يُعدُّ جزءًا من البروتوكول المستخدم في تحويل الكائنات إلى كائناتٍ من الصنف Proc.
  • المعامل ===: يستدعي الكتلة بتمرير الكائن الواقع على يمينه كمعاملٍ للنسخة proc.
  • التابع call: يستدعي الكتلة المرتبطة بالمتغير الذي استعمل معه مُعيِّنًا معاملات الكتلة إلى القيم المعطاة ضمنه ويُعيد المعامل قيمة آخر تعبيرٍ قُيِّم في الكتلة.

مصادر