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