الفرق بين المراجعتين لصفحة: «Ruby/Kernel/exit»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Kernel]] | [[تصنيف: Ruby Kernel]] | ||
يبدأ التابع عملية إنهاء البرنامج النصي لروبي، عن طريق إطلاق استثناء <code>SystemExit</code>. من الممكن | يبدأ التابع <code>exit</code> عملية إنهاء البرنامج النصي لروبي، عن طريق إطلاق استثناء <code>SystemExit</code>. من الممكن إمساك هذا الاستثناء. | ||
ينتج: | يُستخدم الوسيط الاختياري لإعادة رمز الحالة (status code) الخاص ببيئة الاستدعاء. تشير الحالتان <code>true</code> و <code>FALSE</code> إلى النجاح والفشل على التوالي. ويعتمد تفسير قيم الأعداد الأخرى على النظام المُستخدم.<syntaxhighlight lang="ruby">begin | ||
<syntaxhighlight lang="ruby">rescued a SystemExit exception | exit | ||
puts "never get here" | |||
rescue SystemExit | |||
puts "rescued a SystemExit exception" | |||
end | |||
puts "after begin block"</syntaxhighlight> | |||
ينتج عنه:<syntaxhighlight lang="ruby">rescued a SystemExit exception | |||
after begin block</syntaxhighlight> | after begin block</syntaxhighlight> | ||
قبل الإنهاء مباشرة، تنفذ روبي كل توابع <code>at_exit</code> | قبل الإنهاء مباشرة، تنفذ روبي كل توابع <code>[[Ruby/Kernel/at exit|at_exit]]</code>، وتنفذ كل الكائنات المُنهية (object finalizers) (راجع <code>[[Ruby/ObjectSpace/define finalizer|ObjectSpace.define_finalizer]]</code>).<syntaxhighlight lang="ruby">at_exit { puts "at_exit function" } | ||
ObjectSpace.define_finalizer("string", proc { puts "in finalizer" }) | |||
ينتج: | exit</syntaxhighlight> | ||
<syntaxhighlight lang="ruby">at_exit function | ينتج عنه:<syntaxhighlight lang="ruby">at_exit function | ||
in finalizer</syntaxhighlight> | in finalizer</syntaxhighlight> | ||
==البنية العامة== | ==البنية العامة== | ||
سطر 20: | سطر 26: | ||
===<code>status</code>=== | ===<code>status</code>=== | ||
يُستخدم لإعادة رمز الحالة (status code) الخاص ببيئة الاستدعاء. | |||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Kernel/exit-21|exit!]]</code>: ينهي العملية على الفور. | |||
* التابع <code>[[Ruby/Kernel/exit-21|exit!]]</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:45، 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!
: ينهي العملية على الفور.