الفرق بين المراجعتين لصفحة: «Ruby/Kernel/system»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) تدقيق |
||
| سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Kernel]] | [[تصنيف: Ruby Kernel]] | ||
ينفذ التابع <code>system</code> | ينفذ التابع <code>system</code> الأمر المُمرَّر إليه في صدفة فرعية (subshell). | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">system([env,] command... [,options]) → true, false or nil</syntaxhighlight> | <syntaxhighlight lang="ruby">system([env,] command... [,options]) → true, false or nil</syntaxhighlight> | ||
==المعاملات== | ==المعاملات== | ||
===<code>env</code>=== | ===<code>env</code>=== | ||
بيئة التنفيذ. | بيئة التنفيذ. يعد هذا المعامل الذي من النوع [[Ruby/Hash|Hash]] مماثلة تمامًل لمعامل التابع <code>[[Ruby/Kernel/exec|exec]]</code> و <code>[[Ruby/Kernel/spawn|spawn]]</code>. انظر صفحة [[Ruby/Kernel/spawn|<code>spawn</code>]] لمزيد من التفاصيل. | ||
===<code>command...</code>=== | ===<code>command...</code>=== | ||
التعليمة المراد تنفيذها. | التعليمة المراد تنفيذها. تأخذ التعليمة <code>command…</code> أحد الأشكال التالية. | ||
{| class="wikitable" | |||
!شكل المعامل <code>command…</code> | |||
!الوصف | |||
|- | |||
|<code>commandline</code> | |||
|تعليمة نصية تُمرر إلى الصدفة القياسية | |||
|- | |||
|<code>cmdname, arg1, ...</code> | |||
|تعليمة نصية تُمرر إلى الصدفة القياسية | |||
|- | |||
|<code>[cmdname, argv0], arg1, ...</code> | |||
|تعليمة ووسيط واحد أو أكثر argv[0]. | |||
|} | |||
===<code>options</code>=== | ===<code>options</code>=== | ||
الخيارات المستعملة في ضبط العملية. يعد هذا المعامل الذي من النوع [[Ruby/Hash|Hash]] مماثل تمامًل لمعامل التابع <code>[[Ruby/Kernel/exec|exec]]</code> و <code>[[Ruby/Kernel/spawn|spawn]]</code>. انظر صفحة [[Ruby/Kernel/spawn|<code>spawn</code>]] لمزيد من التفاصيل. | |||
==القيمة المعادة== | |||
تعاد القيمة <code>true</code> إذا كانت حالة الأمر <code>command...</code> تساوي الصفر، وإلا فستُعاد القيمة <code>false</code>. تُعاد <code>nil</code> إن فشل تنفيذ التعليمة. حالة الخطأ (error status) متاحة في <code>$?</code>، وتٌعالج الوسائط كما هو الحال في التابع <code>[[Ruby/Kernel/spawn|spawn]]</code>. | |||
==أمثلة== | ==أمثلة== | ||
| سطر 30: | سطر 36: | ||
*</syntaxhighlight> | *</syntaxhighlight> | ||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Kernel/syscall|syscall]]</code>: يستدعي | * التابع <code>[[Ruby/Kernel/spawn|spawn]]</code>: ينفذ تعليمة محددة، ثم يعيد معرفها (pid). | ||
* | * التابع <code>[[Ruby/Kernel/syscall|syscall]]</code>: يستدعي دالة نظام التشغيل المحددة بواسطة المعامل المُمرَّر إليه ويعيد نتيجة هذه الدالة أو يطلق الخطأ <code>[[Ruby/SystemCallError|SystemCallError]]</code> في حال فشل استدعائها. | ||
* التابع <code>[[Ruby/Kernel/exec|exec]]</code> لمزيد من المعلومات حول الصدفة (shell) القياسية. | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-system قسم | *[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-system قسم التابع system في الصنف Kernel في توثيق روبي الرسمي.] | ||
المراجعة الحالية بتاريخ 05:41، 17 نوفمبر 2018
ينفذ التابع 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) القياسية.