الفرق بين المراجعتين ل"Ruby/Proc/new"

من موسوعة حسوب
< Ruby‏ | Proc
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'{{DISPLAYTITLE:التابع Proc.new في روبي}} يُنشئ التابع new كائنًا جديدًا من الصنف Proc، ويربطه إلى السياق ال...')
 
ط
 
سطر 1: سطر 1:
{{DISPLAYTITLE:التابع Proc.new في روبي}}
+
{{DISPLAYTITLE:التابع <code>Proc.new</code> في روبي}}
 
+
يُنشئ التابع <code>new</code> كائنًا جديدًا من الصنف <code>Proc</code>، ويربطه إلى السياق الحالي. قد يُستدعى التابع <code>new</code> من دون كتلةٍ وهذا فقط ضمن التوابع المرفقة بكتل مُسبقًا، إذ تُحوَّل تلك الكتلة في مثل هذه الحالة إلى كائنٍ من النوع <code>Proc</code>.
يُنشئ التابع new كائنًا جديدًا من الصنف Proc، ويربطه إلى السياق الحالي. قد يُستدعى التابع new من دون كتلةٍ وهذا فقط ضمن التوابع المرفقة بكتل مُسبقًا، إذ تُحوَّل تلك الكتلة في مثل هذه الحالة إلى كائنٍ من النوع Proc.
 
  
 
== البنية العامة ==
 
== البنية العامة ==
سطر 12: سطر 11:
 
== المعاملات ==
 
== المعاملات ==
  
=== … ===
+
=== <code></code> ===
 
الوسائط المُمرَّرة إلى الكتلة.
 
الوسائط المُمرَّرة إلى الكتلة.
  
=== block ===
+
=== <code>block</code> ===
 
الكتلة المراد تمريرها إلى الكائن.
 
الكتلة المراد تمريرها إلى الكائن.
  
 
== القيم المعادة ==
 
== القيم المعادة ==
يُعاد كائنٌ من الصنف Proc.
+
يُعاد كائنٌ من الصنف <code>Proc</code>.
  
 
== أمثلة ==
 
== أمثلة ==
مثالٌ عن استخدام التابع new:<syntaxhighlight lang="ruby">
+
مثالٌ عن استخدام التابع <code>new</code>:<syntaxhighlight lang="ruby">
 
def proc_from
 
def proc_from
 
   Proc.new
 
   Proc.new
سطر 32: سطر 31:
  
 
== انظر أيضًا ==
 
== انظر أيضًا ==
* التابع hash: يحسب قيمة التجزئة الموافقة لجسم الكتلة proc التي استدعيت معه ثمَّ يعيدها.
+
* التابع [[Ruby/Proc/hash|<code>hash</code>]]: يحسب قيمة التجزئة الموافقة لجسم الكتلة <code>proc</code> التي استدعيت معه ثمَّ يعيدها.
* التابع ?lambda: يتحقَّق إذا كانت معالجة الوسائط صارمةً في الكائن Proc.
+
* التابع [[Ruby/Proc/lambda-3F|<code>?lambda</code>]]: يتحقَّق إذا كانت معالجة الوسائط صارمةً في الكائن <code>Proc</code>.
* التابع to_proc: يُعدُّ جزءًا من البروتوكول المستخدم في تحويل الكائنات إلى كائناتٍ من الصنف Proc.
+
* التابع <code>[[Ruby/Proc/to proc|to_proc]]</code>: يُعدُّ جزءًا من البروتوكول المستخدم في تحويل الكائنات إلى كائناتٍ من الصنف <code>Proc</code>.
* المعامل ===: يستدعي الكتلة بتمرير الكائن الواقع على يمينه كمعاملٍ للنسخة proc.
+
* المعامل <code>[[Ruby/Proc/3D-3D-3D|===]]</code>: يستدعي الكتلة بتمرير الكائن الواقع على يمينه كمعاملٍ للنسخة <code>proc</code>.
* التابع call: يستدعي الكتلة المرتبطة بالمتغير الذي استعمل معه مُعيِّنًا معاملات الكتلة إلى القيم المعطاة ضمنه ويُعيد المعامل قيمة آخر تعبيرٍ قُيِّم في الكتلة.
+
* التابع <code>[[Ruby/Proc/call|call]]</code>: يستدعي الكتلة المرتبطة بالمتغير الذي استعمل معه مُعيِّنًا معاملات الكتلة إلى القيم المعطاة ضمنه ويُعيد المعامل قيمة آخر تعبيرٍ قُيِّم في الكتلة.
  
 
== مصادر ==
 
== مصادر ==

المراجعة الحالية بتاريخ 07:52، 26 نوفمبر 2018

يُنشئ التابع 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: يستدعي الكتلة المرتبطة بالمتغير الذي استعمل معه مُعيِّنًا معاملات الكتلة إلى القيم المعطاة ضمنه ويُعيد المعامل قيمة آخر تعبيرٍ قُيِّم في الكتلة.

مصادر