الفرق بين المراجعتين لصفحة: «Ruby/Kernel/loop»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>loop</code> الخاص بالصنف <code>Kernel</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف...' |
لا ملخص تعديل |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Kernel]] | [[تصنيف: Ruby Kernel]] | ||
ينفذ التابع loop الكتلة البرمجية بشكل متكرر | ينفذ التابع <code>loop</code> الكتلة البرمجية المعطاة بشكل متكرر. | ||
يؤدي اطلاق <code>StopIteration</code> داخل الكتلة إلى إيقاف الحلقة التكرارية. في هذه الحالة، سيعيد التابع loop | في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف <code>[[Ruby/Enumerator|enumerator]]</code> بدلاً من ذلك. | ||
يؤدي اطلاق الاستثناء <code>StopIteration</code> داخل الكتلة إلى إيقاف الحلقة التكرارية. في هذه الحالة، سيعيد التابع <code>loop</code> قيمة "النتيجة" المخزنة في الاستثناء. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">loop { block } | <syntaxhighlight lang="ruby">loop { block } | ||
loop→ an_enumerator</syntaxhighlight> | loop→ an_enumerator</syntaxhighlight> | ||
==القيمة المُعادة== | ==القيمة المُعادة== | ||
يؤدي اطلاق الاستثناء <code>StopIteration</code> داخل الكتلة، سيعيد التابع <code>loop</code> قيمة "النتيجة" المخزنة في الاستثناء. أما في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف <code>[[Ruby/Enumerator|enumerator]]</code>. | |||
==أمثلة== | ==أمثلة== | ||
سطر 21: | سطر 23: | ||
end</syntaxhighlight> | end</syntaxhighlight> | ||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Kernel/ | * التابع <code>[[Ruby/Kernel/lambda|lambda]]</code>: يكافئ التابع <code>lambda</code> التعبير <code>Proc.new</code>، باستثناء أنّ كائنات <code>Proc</code> الناتجة ستتحقق من عدد الوسائط الممررة عند استدعائها. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-loop قسم التابع loop في الصنف Kernel في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-loop قسم التابع loop في الصنف Kernel في توثيق روبي الرسمي.] |
مراجعة 10:42، 22 أكتوبر 2018
ينفذ التابع loop
الكتلة البرمجية المعطاة بشكل متكرر.
في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف enumerator
بدلاً من ذلك.
يؤدي اطلاق الاستثناء StopIteration
داخل الكتلة إلى إيقاف الحلقة التكرارية. في هذه الحالة، سيعيد التابع loop
قيمة "النتيجة" المخزنة في الاستثناء.
البنية العامة
loop { block }
loop→ an_enumerator
القيمة المُعادة
يؤدي اطلاق الاستثناء StopIteration
داخل الكتلة، سيعيد التابع loop
قيمة "النتيجة" المخزنة في الاستثناء. أما في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف enumerator
.
أمثلة
مثال على استخدام التابع loop
:
loop do
print "Input: "
line = gets
break if !line or line =~ /^qQ/
# ...
end
انظر أيضا
- التابع
lambda
: يكافئ التابعlambda
التعبيرProc.new
، باستثناء أنّ كائناتProc
الناتجة ستتحقق من عدد الوسائط الممررة عند استدعائها.