الفرق بين المراجعتين لصفحة: «Ruby/Kernel/exit»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 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
.