الفرق بين المراجعتين ل"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>at_exit</code>  الكتلة البرمجية المعطاة إلى كائن من النوع <code>Proc</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.

مصادر