الفرق بين المراجعتين لصفحة: «Ruby/Kernel/block given-3F»

من موسوعة حسوب
< Ruby‏ | Kernel
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>‎block_given?‎‎</code> الخاص بالصنف <code>Kernel</code> في روبي}}</noinclude> [[تصنيف: Ruby]...'
 
ط مراجعة وتدقيق
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Kernel]]
[[تصنيف: Ruby Kernel]]
يعيد التابع القيمة <code>true</code> إذا كان <code>yield</code> سينفذ كتلة برمجية في السياق الحالي. الشكل <code>iterator?</code> صار شبه مُتجاوز.
يتحقق التابع <code>block_given?</code>إذا كان <code>yield</code> سينفذ كتلةً برمجيةً في السياق الحالي. الشكل <code>[[Ruby/Kernel/iterator-3F|iterator?‎]]‎</code> صار شبه مهمل.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">block_given?→ true or false‎</syntaxhighlight>
<syntaxhighlight lang="ruby">block_given?→ true or false‎</syntaxhighlight>
==المعاملات==
==القيمة المعادة==
 
تُعاد القيمة <code>true</code> إذا كان <code>yield</code> سينفذ كتلة برمجية في السياق الحالي.
==القيمة المُعادة==
 
==أمثلة==
==أمثلة==
مثال على استخدام التابع <code>block_given?‎</code>:
مثال على استخدام التابع <code>block_given?‎</code>:<syntaxhighlight lang="ruby">def try
<syntaxhighlight lang="ruby">def try
   if block_given?
   if block_given?
     yield
     yield
سطر 21: سطر 18:
try                  #=> "no block"
try                  #=> "no block"
try { "hello" }      #=> "hello"
try { "hello" }      #=> "hello"
try do "hello" end  #=> "hello"
try do "hello" end  #=> "hello"</syntaxhighlight>
</syntaxhighlight>
==انظر أيضا==
==انظر أيضا==
* التابع <code>[[Ruby/Kernel/abort|abort]]</code>: يعيد التابع القيمة <code>true</code> إذا كان <code>yield</code> سينفذ كتلة برمجية في السياق الحالي. الشكل <code>iterator?</code> صار شبه مُتجاوز.
*التابع <code>[[Ruby/Kernel/iterator-3F|iterator?]]</code>: يتحقق إذا كان <code>yield</code> سينفذ كتلة برمجية في السياق الراهن.
* التابع <code>[[Ruby/Kernel/exit|exit]]</code>: يعيد التابع القيمة <code>true</code> إذا كان <code>yield</code> سينفذ كتلة برمجية في السياق الحالي. الشكل <code>iterator?</code> صار شبه مُتجاوز.
* التابع <code>[[Ruby/Kernel/at_exit|at_exit]]</code>: يعيد التابع القيمة <code>true</code> إذا كان <code>yield</code> سينفذ كتلة برمجية في السياق الحالي. الشكل <code>iterator?</code> صار شبه مُتجاوز.
 
==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-block_given-3F قسم التابع block_given?‎ في الصنف Kernel‎ في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-block_given-3F قسم التابع block_given?‎ في الصنف Kernel‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 11:02، 15 نوفمبر 2018

يتحقق التابع block_given?‎ إذا كان yield سينفذ كتلةً برمجيةً في السياق الحالي. الشكل iterator?‎ صار شبه مهمل.

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

block_given? true or false

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

تُعاد القيمة true إذا كان yield سينفذ كتلة برمجية في السياق الحالي.

أمثلة

مثال على استخدام التابع block_given?‎:

def try
  if block_given?
    yield
  else
    "no block"
  end
end
try                  #=> "no block"
try { "hello" }      #=> "hello"
try do "hello" end   #=> "hello"

انظر أيضا

  • التابع iterator?‎: يتحقق إذا كان yield سينفذ كتلة برمجية في السياق الراهن.

مصادر