الفرق بين المراجعتين ل"Ruby/Kernel/system"

من موسوعة حسوب
< Ruby‏ | Kernel
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>system‎</code> الخاص بالصنف <code>Kernel</code> في روبي}}</noinclude> تصنيف: Ruby تصني...')
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Kernel]]
 
[[تصنيف: Ruby Kernel]]
ينفذ التابع system الوسيط command… في صدفة فرعية (subshell).يأخذ command… أحد الأشكال التالية.
+
ينفذ التابع <code>system</code> التعليمة المعطاة <code>command…‎</code> في صدفة فرعية (subshell). تأخذ التعليمة <code>command…‎</code>  أحد الأشكال التالية.
<syntaxhighlight lang="ruby">commandline                : command line string which is passed to the standard shell
+
<syntaxhighlight lang="ruby"> commandline                : تعليمة نصية تُمرر إلى الصدفة القياسية
cmdname, arg1, ...          : command name and one or more arguments (no shell)
+
cmdname, arg1, ...          : تعليمة وواحد أو أكثر من الوسائط - هذا الشكل لا يستخدم الصدفة
[cmdname, argv0], arg1, ... : command name, argv[0] and zero or more arguments (no shell)‎</syntaxhighlight>
+
[cmdname, argv0], arg1, ... : ووسيط واحد أو أكثر  argv[0] تعليمة و</syntaxhighlight>
يعيد التابع system الفيمة <code>true</code> إذا كانت حالة التعليمة command تساوي الصفر، وإلا فسيعيد <code>false</code>. ويعيد <code>nil</code> إن فشل تنفيذ التعليمة. حالة الخطأ (error status) متاحة في <code>$?</code>. وتتم معالجة الوسائط كما هو الحال في <code>Kernel.spawn</code>.
+
يعيد التابع <code>system</code> الفيمة <code>true</code> إذا كانت حالة التعليمة <code>command</code> تساوي الصفر، وإلا فسيعيد <code>false</code>. ويعيد <code>nil</code> إن فشل تنفيذ التعليمة. حالة الخطأ (error status) متاحة في <code>$?</code>. وتٌعالج الوسائط كما هو الحال في التابع <code>[[Ruby/Kernel/spawn|spawn]]</code>.  
تعد وسائط القاموس (hash arguments)و env و options مثل <code>exec</code> و <code>spawn</code>. انظر صفحة <code>Kernel.spawn</code> لمزيد من التفاصيل.  
 
  
الناتج:
+
تعد وسائط القاموس  <code>env</code> و <code>options</code> مثل <code>exec</code> و <code>spawn</code>. انظر صفحة [[Ruby/Kernel/spawn|<code>spawn</code>]] لمزيد من التفاصيل.
<syntaxhighlight lang="ruby">config.h main.rb
+
 
*‎</syntaxhighlight>
+
انظر كذلك <code>[[Ruby/Kernel/exec|exec]]</code> لمزيد من المعلومات حول الصدفة (shell) القياسية.
انظر <code>Kernel.exec</code> لمزيد من المعلومات حول الصدفة (shell) القياسي.
 
 
==البنية العامة==
 
==البنية العامة==
 
<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>===
 
+
بيئة التنفيذ.
 
===<code>command...‎</code>===
 
===<code>command...‎</code>===
 
+
التعليمة المراد تنفيذها.
 
===<code>options‎</code>===
 
===<code>options‎</code>===
 
+
خيارات.
 
 
 
==القيمة المُعادة==
 
==القيمة المُعادة==
 +
يعيد التابع <code>system</code> الفيمة <code>true</code> إذا كانت حالة التعليمة <code>command</code> تساوي الصفر، وإلا فسيعيد <code>false</code>. ويعيد <code>nil</code> إن فشل تنفيذ التعليمة.
  
 
==أمثلة==
 
==أمثلة==
 
مثال على استخدام التابع <code>system‎</code>:
 
مثال على استخدام التابع <code>system‎</code>:
 
<syntaxhighlight lang="ruby">system("echo *")
 
<syntaxhighlight lang="ruby">system("echo *")
system("echo", "*")‎</syntaxhighlight>
+
system("echo", "*")‎</syntaxhighlight>الناتج:<syntaxhighlight lang="ruby">config.h main.rb
 +
*‎</syntaxhighlight>
 
==انظر أيضا==
 
==انظر أيضا==
 
* التابع <code>[[Ruby/Kernel/syscall|syscall]]</code>: يستدعي التابع syscall دالة نظام التشغيل المحددة بواسطة num، ويعيد نتيجة الدالة، أو يطلق <code>SystemCallError</code> في حال الفشل.
 
* التابع <code>[[Ruby/Kernel/syscall|syscall]]</code>: يستدعي التابع syscall دالة نظام التشغيل المحددة بواسطة num، ويعيد نتيجة الدالة، أو يطلق <code>SystemCallError</code> في حال الفشل.
* التابع <code>[[Ruby/Kernel/test|test]]</code>: يستخدم التابع test الحرف <code>cmd</code> لإجراء عدة اختبارات على <code>file1</code> (الجدول الأول أدناه) أو على <code>file1</code> و <code>file2</code> (الجدول الثاني).
+
* التابع <code>[[Ruby/Kernel/spawn|spawn]]</code>: ينفذ التابع <code>spawn</code> تعليمة محددة، ثم يعيد معرفها (pid).
  
 
==مصادر==
 
==مصادر==
 
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-system قسم  التابع system‎ في الصنف Kernel‎ في توثيق روبي الرسمي.]
 
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-system قسم  التابع system‎ في الصنف Kernel‎ في توثيق روبي الرسمي.]

مراجعة 17:24، 23 أكتوبر 2018

ينفذ التابع system التعليمة المعطاة command…‎ في صدفة فرعية (subshell). تأخذ التعليمة command…‎ أحد الأشكال التالية.

 commandline                 : تعليمة نصية تُمرر إلى الصدفة القياسية
cmdname, arg1, ...          : تعليمة وواحد أو أكثر من الوسائط - هذا الشكل لا يستخدم الصدفة
[cmdname, argv0], arg1, ... :  ووسيط واحد أو أكثر  argv[0]  تعليمة و

يعيد التابع system الفيمة true إذا كانت حالة التعليمة command تساوي الصفر، وإلا فسيعيد false. ويعيد nil إن فشل تنفيذ التعليمة. حالة الخطأ (error status) متاحة في ‎$?‎. وتٌعالج الوسائط كما هو الحال في التابع spawn.

تعد وسائط القاموس env و options مثل exec و spawn. انظر صفحة spawn لمزيد من التفاصيل.

انظر كذلك exec لمزيد من المعلومات حول الصدفة (shell) القياسية.

البنية العامة

system([env,] command... [,options])  true, false or nil

المعاملات

env‎

بيئة التنفيذ.

command...‎

التعليمة المراد تنفيذها.

options‎

خيارات.

القيمة المُعادة

يعيد التابع system الفيمة true إذا كانت حالة التعليمة command تساوي الصفر، وإلا فسيعيد false. ويعيد nil إن فشل تنفيذ التعليمة.

أمثلة

مثال على استخدام التابع system‎:

system("echo *")
system("echo", "*")

الناتج:

config.h main.rb
*

انظر أيضا

  • التابع syscall: يستدعي التابع syscall دالة نظام التشغيل المحددة بواسطة num، ويعيد نتيجة الدالة، أو يطلق SystemCallError في حال الفشل.
  • التابع spawn: ينفذ التابع spawn تعليمة محددة، ثم يعيد معرفها (pid).

مصادر