الفرق بين المراجعتين لصفحة: «Ruby/Proc/new»
أنشأ الصفحة ب'{{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 كائنًا جديدًا من الصنف | |||
== البنية العامة == | == البنية العامة == | ||
سطر 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
: يستدعي الكتلة المرتبطة بالمتغير الذي استعمل معه مُعيِّنًا معاملات الكتلة إلى القيم المعطاة ضمنه ويُعيد المعامل قيمة آخر تعبيرٍ قُيِّم في الكتلة.