التابع Process.exit في روبي

من موسوعة حسوب
< Ruby‏ | Process
مراجعة 09:15، 2 يناير 2019 بواسطة جميل-بيلوني (نقاش | مساهمات) (←‏انظر أيضًا)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يبدأ التابع exit عملية الإنهاء لشيفرة روبي البرمجية عبر اطلاق الاستثناء SystemExit. هذا الاستثناء قد يُلتقَط.

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

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

المعاملات

status

معامل اختياري يُستعمَل لإعادة حالة الشيفرة للبيئة المستدعية. القيمة true والقيمة false للحالة المعادة تشيران إلى النجاح والفشل على التوالي. تفسير القيم العددية الأخرى المعطاة يعتمد على نظام التشغيل آنذاك. القيمة الافتراضية هي: true.

أمثلة

مثال على استعمال التابع exit:

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

انظر أيضًا

  • التابع abort: ينهي تنفيذ العملية مباشرةً بشكل فعَّال عبر استدعاء Kernel.exit(false)‎.
  • التابع exit!‎: ينهي العملية ويخرج منها مباشرةً. لن تُنفَّذ أية معالجات خروج حينذاك.

مصادر