الفرق بين المراجعتين لصفحة: «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.