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

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

المراجعة الحالية بتاريخ 12:52، 15 نوفمبر 2018

يبدأ التابع exit عملية إنهاء البرنامج في روبي، عن طريق إطلاق استثناء SystemExit. من الممكن التقاط هذا الاستثناء.

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) الخاص ببيئة الاستدعاء. تشير الحالتان true و FALSE إلى النجاح والفشل على التوالي. ويعتمد تفسير قيم الأعداد الأخرى على النظام المُستخدم.

انظر أيضا

  • التابع exit!‎: ينهي العملية على الفور.
  • التابع at_exit: يحول الكتلة البرمجية المعطاة إلى كائن من النوع Proc.

مصادر