التابع system الخاص بالصنف Kernel في روبي
ينفذ التابع system الأمر المُمرَّر إليه في صدفة فرعية (subshell).
البنية العامة
system([env,] command... [,options]) → true, false or nil
المعاملات
env
بيئة التنفيذ. يعد هذا المعامل الذي من النوع Hash مماثلة تمامًل لمعامل التابع exec و spawn. انظر صفحة spawn لمزيد من التفاصيل.
command...
التعليمة المراد تنفيذها. تأخذ التعليمة command… أحد الأشكال التالية.
شكل المعامل command…
|
الوصف |
|---|---|
commandline
|
تعليمة نصية تُمرر إلى الصدفة القياسية |
cmdname, arg1, ...
|
تعليمة نصية تُمرر إلى الصدفة القياسية |
[cmdname, argv0], arg1, ...
|
تعليمة ووسيط واحد أو أكثر argv[0]. |
options
الخيارات المستعملة في ضبط العملية. يعد هذا المعامل الذي من النوع Hash مماثل تمامًل لمعامل التابع exec و spawn. انظر صفحة spawn لمزيد من التفاصيل.
القيمة المعادة
تعاد القيمة true إذا كانت حالة الأمر command... تساوي الصفر، وإلا فستُعاد القيمة false. تُعاد nil إن فشل تنفيذ التعليمة. حالة الخطأ (error status) متاحة في $?، وتٌعالج الوسائط كما هو الحال في التابع spawn.
أمثلة
مثال على استخدام التابع system:
system("echo *")
system("echo", "*")
الناتج:
config.h main.rb
*
انظر أيضا
- التابع
spawn: ينفذ تعليمة محددة، ثم يعيد معرفها (pid). - التابع
syscall: يستدعي دالة نظام التشغيل المحددة بواسطة المعامل المُمرَّر إليه ويعيد نتيجة هذه الدالة أو يطلق الخطأSystemCallErrorفي حال فشل استدعائها. - التابع
execلمزيد من المعلومات حول الصدفة (shell) القياسية.