الفرق بين المراجعتين لصفحة: «Ruby/Kernel/test»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>test</code> الخاص بالصنف <code>Kernel</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف...' |
جميل-بيلوني (نقاش | مساهمات) تدقيق |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Kernel]] | [[تصنيف: Ruby Kernel]] | ||
يجري التابع <code>test</code> عدة اختبارات على ملف واحد أو على ملفين. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">test(cmd, file1 [, file2] ) → obj</syntaxhighlight> | <syntaxhighlight lang="ruby">test(cmd, file1 [, file2] ) → obj</syntaxhighlight> | ||
==المعاملات== | ==المعاملات== | ||
===<code>cmd</code>=== | ===<code>cmd</code>=== | ||
يحدد الاختبار المراد تطبيقه. اختبارات <code>[[Ruby/File|File]]</code> التي تطبَّق على ملف واحد هي: | |||
{| class="wikitable" | |||
!المعامل <code>cmd</code> | |||
!نوع القيمة المعادة | |||
!وصف | |||
|- | |||
|<code>"A"</code> | |||
|Time | |||
|توقيت آخر دخول إلى الملف <code>file1</code>. | |||
|- | |||
|<code>"b"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان الملف <code>file1</code> جهازًا كتليًّا (block device). | |||
|- | |||
|<code>"c"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان <code>file1</code> من النوع جهازًا محرفيًّا (character device). | |||
|- | |||
|<code>"C"</code> | |||
|Time | |||
|توقيت آخر تغيير في الملف <code>file1</code>. | |||
|- | |||
|<code>"d"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان الملف <code>file1</code> موجودًا وكان مجلدًا. | |||
|- | |||
|<code>"e"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان الملف <code>file1</code> موجودًا. | |||
|- | |||
|<code>"f"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان الملف <code>file1</code> موجودًا وكان ملفًا عاديًّا. | |||
|- | |||
|<code>"g"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code>إن كان البت <code>\CF{setgid}</code>الخاص بالملف <code>file1</code> مُعيّن (تكون false في NT). | |||
|- | |||
|<code>"G"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان الملف <code>file1</code> موجودًا وكانت مجموعته مساوية لمجموعة المُُستدعي. | |||
|- | |||
|<code>"k"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان الملف <code>file1</code> موجودًا وكان البت اللاصق (sticky bit) مُعيّنًا فيه. | |||
|- | |||
|<code>"l"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان الملف <code>file1</code> موجودًا وكان وصلةً رمزيةً (symbolic link). | |||
|- | |||
|<code>"M"</code> | |||
|Time | |||
|توقيت آخر تعديل على الملف <code>file1</code>. | |||
|- | |||
|<code>"o"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان الملف <code>file1</code> موجودًا وكان معرِّف المالك فيه (أي مالك الملف) مساويًّا للمعرف الفعلي (effective uid) للمُستدعي. | |||
|- | |||
|<code>"O"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان <code>file1</code> موجودًا وكان معرِّف المالك فيه (أي مالك الملف) مساويًّا للمعرف الحقيقي (real uid) للمُستدعي. | |||
|- | |||
|<code>"p"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان الملف <code>file1</code> موجودًا وكان من النوع fifo | |||
|- | |||
|<code>"r"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان الملف <code>file1</code> قابلًا للقراءة من المعرف الفعلي للمُستدعي أو مجموعته (effective uid/gid). | |||
|- | |||
|<code>"R"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان الملف <code>file1</code> قابلًا للقراءة من المعرف الحقيقي للمُستدعي أو مجموعته (real uid/gid). | |||
|- | |||
|<code>"s"</code> | |||
|int/nil | |||
|إن كان حجم الملف <code>file1</code> غير معدوم، فسيعيد الحجم، أو سيعيد القيمة <code>nil</code>. | |||
|- | |||
|<code>"S"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان الملف <code>file1</code> موجودًا وكان مقبسًا. | |||
|- | |||
|<code>"u"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان البت <code>setuid</code>الخاصة بالملف <code>file1</code> مُعيّن. | |||
|- | |||
|<code>"w"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان الملف <code>file1</code> قابلًا للكتابة من المعرف الفعلي للمُستدعي أو مجموعته (effective uid/gid). | |||
|- | |||
|<code>"W"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان الملف <code>file1</code> قابلًا للكتابة من المعرف الحقيقي للمُستدعي أو مجموعته (real uid/gid). | |||
|- | |||
|<code>"x"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان الملف <code>file1</code> قابلًا للتنفيذ من المعرف الفعلي للمُستدعي أو مجموعته (effective uid/gid). | |||
|- | |||
|<code>"X"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان الملف <code>file1</code> قابلًا للتنفيذ من المعرف الحقيقي للمُستدعي أو مجموعته (real uid/gid). | |||
|- | |||
|<code>"z"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان الملف <code>file1</code> موجودًا وطوله معدوم (zero length). | |||
|}الاختبارات التي تطبَّق على ملفين هي: | |||
{| class="wikitable" | |||
!المعامل cmd | |||
!نوع القيمة المعادة | |||
!وصف | |||
|- | |||
|<code>"-"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان الملف <code>file1</code> والملف <code>file2</code> متطابقين. | |||
|- | |||
|<code>"="</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان توقيت تعديل الملف <code>file1</code> والملف <code>file2</code> متساويين. | |||
|- | |||
|<code>"<"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان توقيت تعديل الملف <code>file1</code> قبل توقيت تعديل الملف <code>file2</code>. | |||
|- | |||
|<code>">"</code> | |||
|قيمة منطقية | |||
|يعيد <code>True</code> إن كان توقيت تعديل الملف <code>file1</code> بعد توقيت تعديل الملف <code>file2</code>. | |||
|} | |||
===<code>file1</code>=== | ===<code>file1</code>=== | ||
الملف الأول. | |||
===<code>file2</code>=== | ===<code>file2</code>=== | ||
الملف الثاني. | |||
==القيمة المعادة== | |||
==القيمة | يعيد كائنًا بحسب قيمة المعامل <code>cmd</code> أي يعاد ناتج الاختبار المطبَّق. | ||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Kernel/system|system]]</code>: ينفذ | *التابع <code>[[Ruby/Kernel/system|system]]</code>: ينفذ الأمر المُمرَّر إليه في صدفة فرعية (subshell). | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-test قسم | *[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-test قسم التابع test في الصنف Kernel في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 06:13، 17 نوفمبر 2018
يجري التابع test
عدة اختبارات على ملف واحد أو على ملفين.
البنية العامة
test(cmd, file1 [, file2] ) → obj
المعاملات
cmd
يحدد الاختبار المراد تطبيقه. اختبارات File
التي تطبَّق على ملف واحد هي:
المعامل cmd
|
نوع القيمة المعادة | وصف |
---|---|---|
"A"
|
Time | توقيت آخر دخول إلى الملف file1 .
|
"b"
|
قيمة منطقية | يعيد True إن كان الملف file1 جهازًا كتليًّا (block device).
|
"c"
|
قيمة منطقية | يعيد True إن كان file1 من النوع جهازًا محرفيًّا (character device).
|
"C"
|
Time | توقيت آخر تغيير في الملف file1 .
|
"d"
|
قيمة منطقية | يعيد True إن كان الملف file1 موجودًا وكان مجلدًا.
|
"e"
|
قيمة منطقية | يعيد True إن كان الملف file1 موجودًا.
|
"f"
|
قيمة منطقية | يعيد True إن كان الملف file1 موجودًا وكان ملفًا عاديًّا.
|
"g"
|
قيمة منطقية | يعيد True إن كان البت \CF{setgid} الخاص بالملف file1 مُعيّن (تكون false في NT).
|
"G"
|
قيمة منطقية | يعيد True إن كان الملف file1 موجودًا وكانت مجموعته مساوية لمجموعة المُُستدعي.
|
"k"
|
قيمة منطقية | يعيد True إن كان الملف file1 موجودًا وكان البت اللاصق (sticky bit) مُعيّنًا فيه.
|
"l"
|
قيمة منطقية | يعيد True إن كان الملف file1 موجودًا وكان وصلةً رمزيةً (symbolic link).
|
"M"
|
Time | توقيت آخر تعديل على الملف file1 .
|
"o"
|
قيمة منطقية | يعيد True إن كان الملف file1 موجودًا وكان معرِّف المالك فيه (أي مالك الملف) مساويًّا للمعرف الفعلي (effective uid) للمُستدعي.
|
"O"
|
قيمة منطقية | يعيد True إن كان file1 موجودًا وكان معرِّف المالك فيه (أي مالك الملف) مساويًّا للمعرف الحقيقي (real uid) للمُستدعي.
|
"p"
|
قيمة منطقية | يعيد True إن كان الملف file1 موجودًا وكان من النوع fifo
|
"r"
|
قيمة منطقية | يعيد True إن كان الملف file1 قابلًا للقراءة من المعرف الفعلي للمُستدعي أو مجموعته (effective uid/gid).
|
"R"
|
قيمة منطقية | يعيد True إن كان الملف file1 قابلًا للقراءة من المعرف الحقيقي للمُستدعي أو مجموعته (real uid/gid).
|
"s"
|
int/nil | إن كان حجم الملف file1 غير معدوم، فسيعيد الحجم، أو سيعيد القيمة nil .
|
"S"
|
قيمة منطقية | يعيد True إن كان الملف file1 موجودًا وكان مقبسًا.
|
"u"
|
قيمة منطقية | يعيد True إن كان البت setuid الخاصة بالملف file1 مُعيّن.
|
"w"
|
قيمة منطقية | يعيد True إن كان الملف file1 قابلًا للكتابة من المعرف الفعلي للمُستدعي أو مجموعته (effective uid/gid).
|
"W"
|
قيمة منطقية | يعيد True إن كان الملف file1 قابلًا للكتابة من المعرف الحقيقي للمُستدعي أو مجموعته (real uid/gid).
|
"x"
|
قيمة منطقية | يعيد True إن كان الملف file1 قابلًا للتنفيذ من المعرف الفعلي للمُستدعي أو مجموعته (effective uid/gid).
|
"X"
|
قيمة منطقية | يعيد True إن كان الملف file1 قابلًا للتنفيذ من المعرف الحقيقي للمُستدعي أو مجموعته (real uid/gid).
|
"z"
|
قيمة منطقية | يعيد True إن كان الملف file1 موجودًا وطوله معدوم (zero length).
|
الاختبارات التي تطبَّق على ملفين هي:
المعامل cmd | نوع القيمة المعادة | وصف |
---|---|---|
"-"
|
قيمة منطقية | يعيد True إن كان الملف file1 والملف file2 متطابقين.
|
"="
|
قيمة منطقية | يعيد True إن كان توقيت تعديل الملف file1 والملف file2 متساويين.
|
"<"
|
قيمة منطقية | يعيد True إن كان توقيت تعديل الملف file1 قبل توقيت تعديل الملف file2 .
|
">"
|
قيمة منطقية | يعيد True إن كان توقيت تعديل الملف file1 بعد توقيت تعديل الملف file2 .
|
file1
الملف الأول.
file2
الملف الثاني.
القيمة المعادة
يعيد كائنًا بحسب قيمة المعامل cmd
أي يعاد ناتج الاختبار المطبَّق.
انظر أيضا
- التابع
system
: ينفذ الأمر المُمرَّر إليه في صدفة فرعية (subshell).