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