الفرق بين المراجعتين ل"Ruby/Kernel/exit"

من موسوعة حسوب
< Ruby‏ | Kernel
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>exit‎</code> الخاص بالصنف <code>Kernel</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف...')
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Kernel]]
 
[[تصنيف: Ruby Kernel]]
 +
يبدأ التابع عملية إنهاء البرنامج النصي لروبي، عن طريق إطلاق استثناء <code>SystemExit</code>. من الممكن أن يتم احتواء هذا الاستثناء. يُستخدم الوسيط الاختياري لإعادة رمز الحالة (status code) لبيئة الاستدعاء. تشير الحالتان <code>true</code> و <code>FALSE</code> إلى النجاح والفشل على التوالي.  يعتمد تفسير قيم الأعداد الأخرى على النظام المُستخدم.
  
يبدأ إنهاء البرنامج النصي Ruby عن طريق رفع استثناء <code>SystemExit</code>. قد يتم اكتشاف هذا الاستثناء. يتم استخدام المعلمة الاختيارية لإرجاع رمز الحالة إلى بيئة الاستدعاء. تشير الحالة <code>true</code> و <code>FALSE</code> إلى النجاح والفشل على التوالي.  يعتمد تفسير قيم الأعداد الصحيحة الأخرى على النظام.
+
ينتج:
 
 
ينتج عنه:
 
 
<syntaxhighlight lang="ruby">rescued a SystemExit exception
 
<syntaxhighlight lang="ruby">rescued a SystemExit exception
 
after begin block‎</syntaxhighlight>
 
after begin block‎</syntaxhighlight>
فقط قبل الإنهاء ، ينفذ روبي أي من وظائف <code>at_exit</code> (انظر Kernel :: at_exit) ويدير أي شيء نهائي (راجع <code>ObjectSpace.define_finalizer</code>).
+
قبل الإنهاء مباشرة، تنفذ روبي كل توابع <code>at_exit</code> (انظر Kernel :: at_exit) وتنفذ كل الكائنات المنهية (object finalizers) (راجع <code>ObjectSpace.define_finalizer</code>).
  
ينتج عنه:
+
ينتج:
 
<syntaxhighlight lang="ruby">at_exit function
 
<syntaxhighlight lang="ruby">at_exit function
 
in finalizer‎</syntaxhighlight>
 
in finalizer‎</syntaxhighlight>
 
 
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">exit(status=true)
 
<syntaxhighlight lang="ruby">exit(status=true)
سطر 37: سطر 34:
 
‎</syntaxhighlight>
 
‎</syntaxhighlight>
 
==انظر أيضا==
 
==انظر أيضا==
* التابع <code>[[Ruby/Integer/X_name_X|X_name_X]]</code>:  
+
* التابع <code>[[Ruby/Kernel/exec|exec]]</code>: يستبدل التابع العملية الحالية عن طريق تشغيل الأمر الخارجي المعطى، والذي يمكن أن يأخذ أحد الأشكال التالية:
 +
* التابع <code>[[Ruby/Kernel/exit-21|exit!]]</code>: ينهي العملية على الفور. لا يتم تنفيذ أي معالجات إنهاء (exit handlers). تعاد الحالة إلى النظام الأساسي باعتبارها حالة الخروج (exit status).
 +
 
 
==مصادر==
 
==مصادر==
 
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-exit قسم  التابع exit‎ في الصنف Kernel‎ في توثيق روبي الرسمي.]
 
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-exit قسم  التابع exit‎ في الصنف Kernel‎ في توثيق روبي الرسمي.]

مراجعة 19:38، 21 أكتوبر 2018

يبدأ التابع عملية إنهاء البرنامج النصي لروبي، عن طريق إطلاق استثناء SystemExit. من الممكن أن يتم احتواء هذا الاستثناء. يُستخدم الوسيط الاختياري لإعادة رمز الحالة (status code) لبيئة الاستدعاء. تشير الحالتان true و FALSE إلى النجاح والفشل على التوالي. يعتمد تفسير قيم الأعداد الأخرى على النظام المُستخدم.

ينتج:

rescued a SystemExit exception
after begin block

قبل الإنهاء مباشرة، تنفذ روبي كل توابع at_exit (انظر Kernel :: at_exit) وتنفذ كل الكائنات المنهية (object finalizers) (راجع ObjectSpace.define_finalizer).

ينتج:

at_exit function
in finalizer

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

exit(status=true)
Kernel::exit(status=true)
Process::exit(status=true)

المعاملات

status‎

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

أمثلة

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

begin
  exit
  puts "never get here"
rescue SystemExit
  puts "rescued a SystemExit exception"
end
puts "after begin block"

انظر أيضا

  • التابع exec: يستبدل التابع العملية الحالية عن طريق تشغيل الأمر الخارجي المعطى، والذي يمكن أن يأخذ أحد الأشكال التالية:
  • التابع exit!: ينهي العملية على الفور. لا يتم تنفيذ أي معالجات إنهاء (exit handlers). تعاد الحالة إلى النظام الأساسي باعتبارها حالة الخروج (exit status).

مصادر