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

من موسوعة حسوب
< Ruby‏ | Kernel
اذهب إلى التنقل اذهب إلى البحث
سطر 29: سطر 29:
 
==انظر أيضا==
 
==انظر أيضا==
 
* التابع <code>[[Ruby/Kernel/exit-21|exit!‎]]</code>: ينهي العملية على الفور.
 
* التابع <code>[[Ruby/Kernel/exit-21|exit!‎]]</code>: ينهي العملية على الفور.
 +
* التابع <code>[[Ruby/Kernel/at exit|at_exit]]</code>: يحول التابع <code>at_exit</code>  الكتلة البرمجية المعطاة إلى كائن من النوع <code>Proc</code>.
  
 
==مصادر==
 
==مصادر==
 
*[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:46، 21 أكتوبر 2018

يبدأ التابع exit عملية إنهاء البرنامج النصي لروبي، عن طريق إطلاق استثناء SystemExit. من الممكن إمساك هذا الاستثناء.

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

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

ينتج عنه:

rescued a SystemExit exception
after begin block

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

at_exit { puts "at_exit function" }
ObjectSpace.define_finalizer("string",  proc { puts "in finalizer" })
exit

ينتج عنه:

at_exit function
in finalizer

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

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

المعاملات

status‎

يُستخدم لإعادة رمز الحالة (status code) الخاص ببيئة الاستدعاء.

انظر أيضا

  • التابع exit!‎: ينهي العملية على الفور.
  • التابع at_exit: يحول التابع at_exit  الكتلة البرمجية المعطاة إلى كائن من النوع Proc.

مصادر