الفرق بين المراجعتين لصفحة: «Ruby/Process/exit»

من موسوعة حسوب
< Ruby‏ | Process
إنشاء الصفحة.
 
 
سطر 35: سطر 35:
==انظر أيضًا==
==انظر أيضًا==
*التابع <code>[[Ruby/Process/abort|abort]]</code>: ينهي تنفيذ العملية مباشرةً بشكل فعَّال عبر استدعاء <code>[[Ruby/Kernel/exit|Kernel.exit(false)‎]]</code>.
*التابع <code>[[Ruby/Process/abort|abort]]</code>: ينهي تنفيذ العملية مباشرةً بشكل فعَّال عبر استدعاء <code>[[Ruby/Kernel/exit|Kernel.exit(false)‎]]</code>.
*التابع <code>[[Ruby/Process/argv0|argv0]]</code>: يعيد اسم الشيفرة البرمجية التي يجري تنفيذها.
*التابع <code>[[Ruby/Process/exit-21|exit!‎]]</code>: ينهي العملية ويخرج منها مباشرةً. لن تُنفَّذ أية معالجات خروج حينذاك.
==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Process.html#method-c-exit قسم التابع exit في الصنف Process في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/Process.html#method-c-exit قسم التابع exit في الصنف 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!‎: ينهي العملية ويخرج منها مباشرةً. لن تُنفَّذ أية معالجات خروج حينذاك.

مصادر